Introduction
This documentation aims to provide all the information you need to work with our API.
Base URL
http://localhost:8000
Authenticating requests
This API is not authenticated.
1. Authentication
APIs for Authentication
Register
Example request:
curl --request POST \
"http://localhost:8000/api/register" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"first_name\": \"John\",
\"last_name\": \"Doe\",
\"email\": \"john.doe@currikistudio.org\",
\"password\": \"Password123\",
\"organization_name\": \"Curriki\",
\"organization_type\": \"Nonprofit\",
\"job_title\": \"Developer\",
\"domain\": \"currikistudio\"
}"
const url = new URL(
"http://localhost:8000/api/register"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"first_name": "John",
"last_name": "Doe",
"email": "john.doe@currikistudio.org",
"password": "Password123",
"organization_name": "Curriki",
"organization_type": "Nonprofit",
"job_title": "Developer",
"domain": "currikistudio"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/register',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'first_name' => 'John',
'last_name' => 'Doe',
'email' => 'john.doe@currikistudio.org',
'password' => 'Password123',
'organization_name' => 'Curriki',
'organization_type' => 'Nonprofit',
'job_title' => 'Developer',
'domain' => 'currikistudio',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (201):
{
"message": "You are one step away from building the world's most immersive learning experiences with CurrikiStudio!"
}
Example response (500):
{
"errors": [
"Could not create user account. Please try again later."
]
}
Received response:
Request failed with error:
Login
Example request:
curl --request POST \
"http://localhost:8000/api/login" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"email\": \"john.doe@currikistudio.org\",
\"password\": \"Password123\",
\"domain\": \"curriki\"
}"
const url = new URL(
"http://localhost:8000/api/login"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"email": "john.doe@currikistudio.org",
"password": "Password123",
"domain": "curriki"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/login',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'email' => 'john.doe@currikistudio.org',
'password' => 'Password123',
'domain' => 'curriki',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (400):
{
"errors": [
"Invalid Credentials."
]
}
Example response (400):
{
"errors": [
"Invalid Domain."
]
}
Example response (400):
{
"errors": [
"Email is not verified."
]
}
Example response (200):
{
"user": {
"id": 1,
"first_name": "John",
"last_name": "Doe",
"email": "john.doe@currikistudio.org",
"organization_name": "Curriki",
"organization_type": null,
"job_title": "Developer",
"address": "20660 Stevens Creek Blvd #332, Cupertino, CA 95014",
"phone_number": "+1234567890",
"website": "www.currikistudio.org",
"subscribed": true
},
"access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9..."
}
Received response:
Request failed with error:
Admin Login
Example request:
curl --request POST \
"http://localhost:8000/api/admin/login" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"email\": \"john.doe@currikistudio.org\",
\"password\": \"Password123\",
\"domain\": \"ducimus\"
}"
const url = new URL(
"http://localhost:8000/api/admin/login"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"email": "john.doe@currikistudio.org",
"password": "Password123",
"domain": "ducimus"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/admin/login',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'email' => 'john.doe@currikistudio.org',
'password' => 'Password123',
'domain' => 'ducimus',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (400):
{
"errors": [
"Invalid Credentials."
]
}
Example response (500):
{
"errors": [
"Email is not verified."
]
}
Example response (500):
{
"errors": [
"Unauthorized!"
]
}
Example response (200):
{
"user": {
"id": 1,
"first_name": "John",
"last_name": "Doe",
"email": "john.doe@currikistudio.org",
"organization_name": "Curriki",
"organization_type": null,
"job_title": "Developer",
"address": "20660 Stevens Creek Blvd #332, Cupertino, CA 95014",
"phone_number": "+1234567890",
"website": "www.currikistudio.org",
"subscribed": true
},
"access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9..."
}
Received response:
Request failed with error:
Login with Google
Example request:
curl --request POST \
"http://localhost:8000/api/login/google" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"domain\": \"accusantium\",
\"tokenId\": \"eyJhbGciOiJSUzI1NiIsImtpZCI6IjJjNmZh...\",
\"tokenObj\": {
\"token_type\": \"Bearer\",
\"access_token\": \"ya29.a0AfH6SMBx-CIZfKRorxn8xPugO...\",
\"scope\": \"email profile ...\",
\"login_hint\": \"AJDLj6JUa8yxXrhHdWRHIV0...\",
\"expires_in\": 3599,
\"id_token\": \"eyJhbGciOiJSUzI1NiIsImtpZCI6I...\",
\"session_state\": {
\"extraQueryParams\": {
\"authuser\": \"0\"
}
},
\"first_issued_at\": 1601535932504,
\"expires_at\": 1601539531504,
\"idpId\": \"google\"
}
}"
const url = new URL(
"http://localhost:8000/api/login/google"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"domain": "accusantium",
"tokenId": "eyJhbGciOiJSUzI1NiIsImtpZCI6IjJjNmZh...",
"tokenObj": {
"token_type": "Bearer",
"access_token": "ya29.a0AfH6SMBx-CIZfKRorxn8xPugO...",
"scope": "email profile ...",
"login_hint": "AJDLj6JUa8yxXrhHdWRHIV0...",
"expires_in": 3599,
"id_token": "eyJhbGciOiJSUzI1NiIsImtpZCI6I...",
"session_state": {
"extraQueryParams": {
"authuser": "0"
}
},
"first_issued_at": 1601535932504,
"expires_at": 1601539531504,
"idpId": "google"
}
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/login/google',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'domain' => 'accusantium',
'tokenId' => 'eyJhbGciOiJSUzI1NiIsImtpZCI6IjJjNmZh...',
'tokenObj' => [
'token_type' => 'Bearer',
'access_token' => 'ya29.a0AfH6SMBx-CIZfKRorxn8xPugO...',
'scope' => 'email profile ...',
'login_hint' => 'AJDLj6JUa8yxXrhHdWRHIV0...',
'expires_in' => 3599,
'id_token' => 'eyJhbGciOiJSUzI1NiIsImtpZCI6I...',
'session_state' => [
'extraQueryParams' => [
'authuser' => '0',
],
],
'first_issued_at' => 1601535932504,
'expires_at' => 1601539531504,
'idpId' => 'google',
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (400):
{
"errors": [
"Unable to login with Google."
]
}
Example response (200):
{
"user": {
"id": 1,
"first_name": "John",
"last_name": "Doe",
"email": "john.doe@currikistudio.org",
"organization_name": "Curriki",
"organization_type": null,
"job_title": "Developer",
"address": "20660 Stevens Creek Blvd #332, Cupertino, CA 95014",
"phone_number": "+1234567890",
"website": "www.currikistudio.org",
"subscribed": true
},
"access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9..."
}
Received response:
Request failed with error:
Login with LTI SSO 1.0
Example request:
curl --request POST \
"http://localhost:8000/api/login/sso" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"sso_info\": \"dXNlcl9rZXk9YWFobWFkJnVzZXJfZW1haWw9YXFlZWwuYWhtYWQlNDB...\"
}"
const url = new URL(
"http://localhost:8000/api/login/sso"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"sso_info": "dXNlcl9rZXk9YWFobWFkJnVzZXJfZW1haWw9YXFlZWwuYWhtYWQlNDB..."
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/login/sso',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'sso_info' => 'dXNlcl9rZXk9YWFobWFkJnVzZXJfZW1haWw9YXFlZWwuYWhtYWQlNDB...',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (400):
{
"errors": [
"Unable to login with LTI SSO."
]
}
Example response (200):
{
"user": {
"id": 1,
"first_name": "John",
"last_name": "Doe",
"email": "john.doe@currikistudio.org",
"organization_name": "Curriki",
"organization_type": null,
"job_title": "Developer",
"address": "20660 Stevens Creek Blvd #332, Cupertino, CA 95014",
"phone_number": "+1234567890",
"website": "www.currikistudio.org",
"subscribed": true
},
"access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9..."
}
Received response:
Request failed with error:
Login with LTI SSO
Example request:
curl --request POST \
"http://localhost:8000/api/login/lti-sso" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"sso_info\": \"dXNlcl9rZXk9YWFobWFkJnVzZXJfZW1haWw9YXFlZWwuYWhtYWQlNDB...\"
}"
const url = new URL(
"http://localhost:8000/api/login/lti-sso"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"sso_info": "dXNlcl9rZXk9YWFobWFkJnVzZXJfZW1haWw9YXFlZWwuYWhtYWQlNDB..."
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/login/lti-sso',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'sso_info' => 'dXNlcl9rZXk9YWFobWFkJnVzZXJfZW1haWw9YXFlZWwuYWhtYWQlNDB...',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (400):
{
"errors": [
"Unable to login with LTI SSO."
]
}
Example response (200):
{
"user": {
"id": 1,
"first_name": "John",
"last_name": "Doe",
"email": "john.doe@currikistudio.org",
"organization_name": "Curriki",
"organization_type": null,
"job_title": "Developer",
"address": "20660 Stevens Creek Blvd #332, Cupertino, CA 95014",
"phone_number": "+1234567890",
"website": "www.currikistudio.org",
"subscribed": true
},
"access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9..."
}
Received response:
Request failed with error:
Wordpress SSO: Execute wordpress sso authentication
Example request:
curl --request POST \
"http://localhost:8000/api/login/wordpress-sso" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"clientId\": \"non\",
\"code\": \"illo\"
}"
const url = new URL(
"http://localhost:8000/api/login/wordpress-sso"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"clientId": "non",
"code": "illo"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/login/wordpress-sso',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'clientId' => 'non',
'code' => 'illo',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Received response:
Request failed with error:
Get Wordpress SSO default settings
Wordpress SSO: Get default settings for a particular wordpress sso integration
Example request:
curl --request GET \
--get "http://localhost:8000/api/login/wordpress-sso-settings/voluptatibus" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/login/wordpress-sso-settings/voluptatibus"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/login/wordpress-sso-settings/voluptatibus',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
{
"errors": [
"Unable to find default LMS setting with your client id."
]
}
Received response:
Request failed with error:
Oaut Redirect
Example request:
curl --request GET \
--get "http://localhost:8000/api/oauth/soluta/redirect" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/oauth/soluta/redirect"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/oauth/soluta/redirect',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (404):
- Redirect
Example response (200):
{
"user": {
"id": 1,
"first_name": "John",
"last_name": "Doe",
"email": "john.doe@currikistudio.org",
"organization_name": "Curriki",
"organization_type": null,
"job_title": "Developer",
"address": "20660 Stevens Creek Blvd #332, Cupertino, CA 95014",
"phone_number": "+1234567890",
"website": "www.currikistudio.org",
"subscribed": true
},
"access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9..."
}
Received response:
Request failed with error:
Oaut oauthCallBack
Example request:
curl --request GET \
--get "http://localhost:8000/api/oauth/dicta/callback" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/oauth/dicta/callback"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/oauth/dicta/callback',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (404):
- Redirect back
Example response (200):
{
"user": {
"id": 1,
"first_name": "John",
"last_name": "Doe",
"email": "john.doe@currikistudio.org",
"organization_name": "Curriki",
"organization_type": null,
"job_title": "Developer",
"address": "20660 Stevens Creek Blvd #332, Cupertino, CA 95014",
"phone_number": "+1234567890",
"website": "www.currikistudio.org",
"subscribed": true
},
"access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9..."
}
Received response:
Request failed with error:
Forgot Password Send a password reset link to the given user.
Example request:
curl --request POST \
"http://localhost:8000/api/forgot-password" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"email\": \"john.doe@currikistudio.org\"
}"
const url = new URL(
"http://localhost:8000/api/forgot-password"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"email": "john.doe@currikistudio.org"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/forgot-password',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'email' => 'john.doe@currikistudio.org',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "Password reset email has been sent. Please follow the instructions."
}
Example response (400):
{
"errors": [
"Email is not verified."
]
}
Received response:
Request failed with error:
Reset Password Reset the given user's password.
Example request:
curl --request POST \
"http://localhost:8000/api/reset-password" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"token\": \"ya29.a0AfH6SMBx-CIZfKRorxn8xPugO...\",
\"email\": \"john.doe@currikistudio.org\",
\"password\": \"Password123\",
\"password_confirmation\": \"Password123\"
}"
const url = new URL(
"http://localhost:8000/api/reset-password"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"token": "ya29.a0AfH6SMBx-CIZfKRorxn8xPugO...",
"email": "john.doe@currikistudio.org",
"password": "Password123",
"password_confirmation": "Password123"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/reset-password',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'token' => 'ya29.a0AfH6SMBx-CIZfKRorxn8xPugO...',
'email' => 'john.doe@currikistudio.org',
'password' => 'Password123',
'password_confirmation' => 'Password123',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "Password has been reset successfully."
}
Example response (401):
{
"error": "Invalid request."
}
Received response:
Request failed with error:
Verify an Email Address Mark the authenticated user's email address as verified.
Example request:
curl --request POST \
"http://localhost:8000/api/verify-email" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"id\": 1,
\"hash\": \"9e0f70124a2a88d5435...\",
\"signature\": \"467fbe9a00e7d367553f...\",
\"expires\": 1599754915
}"
const url = new URL(
"http://localhost:8000/api/verify-email"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"id": 1,
"hash": "9e0f70124a2a88d5435...",
"signature": "467fbe9a00e7d367553f...",
"expires": 1599754915
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/verify-email',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'id' => 1,
'hash' => '9e0f70124a2a88d5435...',
'signature' => '467fbe9a00e7d367553f...',
'expires' => 1599754915,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (204):
[Empty response]
Received response:
Request failed with error:
Logout
Example request:
curl --request POST \
"http://localhost:8000/api/logout" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/logout"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/logout',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "You have been successfully logged out."
}
Received response:
Request failed with error:
Check if email is already registered
Example request:
curl --request GET \
--get "http://localhost:8000/api/checkemail/fuga" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/checkemail/fuga"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/checkemail/fuga',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
{
"exists": false,
"message": "Email is not registered"
}
Received response:
Request failed with error:
2. User
APIs for user management
Download Exported Project
Download the specific notification project.
Example request:
curl --request GET \
--get "http://localhost:8000/api/users/notifications/tempore/download-export" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/users/notifications/tempore/download-export"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/users/notifications/tempore/download-export',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "Notification has been deleted successfully."
}
Example response (500):
{
"errors": [
"Not an export notification.",
"Link has expired.",
"Notification with provided id does not exists."
]
}
Received response:
Request failed with error:
Get All User Organizations
Get a list of the users organizations
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/users/organizations" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/users/organizations"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/users/organizations',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": [
{
"id": 1,
"name": "Curriki Studio",
"description": "Curriki Studio, default organization.",
"image": "/storage/organizations/PlPVBtEVfKEU8PBI1eknYgW3kjIf5YdpILBS0Yyr.png",
"favicon": "/storage/organizations/favicon/PlPVBtEVfKEU8PBI1eknYgW3kjIf5YdpILBS0Yyr.png",
"domain": "currikistudio"
}
]
}
Received response:
Request failed with error:
Accept Terms
Accept Terms and Privacy Policy.
Example request:
curl --request POST \
"http://localhost:8000/api/v1/subscribe" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/subscribe"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/subscribe',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (500):
{
"errors": [
"Failed to subscribe."
]
}
Example response (200):
{
"user": {
"id": 1,
"first_name": "John",
"last_name": "Doe",
"email": "john.doe@currikistudio.org",
"organization_name": "Curriki",
"organization_type": null,
"job_title": "Developer",
"address": "20660 Stevens Creek Blvd #332, Cupertino, CA 95014",
"phone_number": "+1234567890",
"website": "www.currikistudio.org",
"subscribed": true,
"organization_role": "Admin",
"organization_role_id": 1,
"organization_joined_at": "2022-10-12",
"projects_count": 5,
"groups_count": 1,
"teams_count": 2
},
"message": "User has been created successfully."
}
Received response:
Request failed with error:
Get Authenticated User
Get the authenticated user detail.
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/users/me" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/users/me"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/users/me',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (500):
{
"errors": [
"Failed to get user detail."
]
}
Example response (200):
{
"user": {
"id": 1,
"first_name": "John",
"last_name": "Doe",
"email": "john.doe@currikistudio.org",
"organization_name": "Curriki",
"organization_type": null,
"job_title": "Developer",
"address": "20660 Stevens Creek Blvd #332, Cupertino, CA 95014",
"phone_number": "+1234567890",
"website": "www.currikistudio.org",
"subscribed": true,
"organization_role": "Admin",
"organization_role_id": 1,
"organization_joined_at": "2022-10-12",
"projects_count": 5,
"groups_count": 1,
"teams_count": 2
},
"message": "User has been created successfully."
}
Received response:
Request failed with error:
Get All User Notifications
Get a list of the users unread notification
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/users/notifications" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/users/notifications"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/users/notifications',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"notifications": [
{
"id": "afff2365-a4f3-48ab-8d53-6d958a9e3ab3",
"type": "App\\Notifications\\CloneNotification",
"notifiable_type": "App\\User",
"notifiable_id": 1243,
"data": {
"message": "Project(26 Project 2) has been duplicated successfully"
},
"read_at": null,
"created_at": "2020-10-16T13:46:33.000000Z",
"updated_at": "2020-10-16T13:46:33.000000Z"
}
]
}
Received response:
Request failed with error:
Get All User Export list
Get a list of the users exported project
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/suborganization/1/users/notifications/export-list" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"size\": 25,
\"days_limit\": \"?days_limit=5\"
}"
const url = new URL(
"http://localhost:8000/api/v1/suborganization/1/users/notifications/export-list"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"size": 25,
"days_limit": "?days_limit=5"
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/suborganization/1/users/notifications/export-list',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'size' => 25,
'days_limit' => '?days_limit=5',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": [
{
"id": "681e9e03-6601-4752-a360-5037f0401bba",
"project": "Metrics Project",
"created_at": "14-Jun-2022",
"will_expire_on": "24-Jun-2022",
"link": "/api/storage/exports/projects-62a877f9af025.zip"
},
{
"id": "21f86165-698f-4c7e-ac8a-7ddace3fca73",
"project": "Pro Micro",
"created_at": "09-Jun-2022",
"will_expire_on": "19-Jun-2022",
"link": "/api/storage/exports/projects-62a1f02f43a7b.zip"
}
],
"links": {
"first": "suborganization/1/users/notifications/export-list?size=10&page=1",
"last": "suborganization/1/users/notifications/export-list?size=10&page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"path": "suborganization/1/users/notifications/export-list",
"per_page": "10",
"to": 2,
"total": 2
}
}
Received response:
Request failed with error:
Get All User Export list
Get a list of the users exported project
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/suborganization/1/users/notifications/export-list-independent-activities" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"size\": 25,
\"days_limit\": \"?days_limit=5\"
}"
const url = new URL(
"http://localhost:8000/api/v1/suborganization/1/users/notifications/export-list-independent-activities"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"size": 25,
"days_limit": "?days_limit=5"
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/suborganization/1/users/notifications/export-list-independent-activities',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'size' => 25,
'days_limit' => '?days_limit=5',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": [
{
"id": "e66ce14f-e8c0-4fcd-8e9c-0a53453c6da0",
"project": "Test new Drag 1.14",
"created_at": "17-Jun-2022",
"will_expire_on": "27-Jun-2022",
"link": "storage/exports/independent_activity-62ac5c287b011.zip",
"organization_id": 1
},
{
"id": "e1ef3916-645e-40ed-81b3-0143d9fc19f6",
"project": "Taurus 10 Jun 2022 edited-COPY edited",
"created_at": "17-Jun-2022",
"will_expire_on": "27-Jun-2022",
"link": "storage/exports/independent_activity-62ac5c2566576.zip",
"organization_id": 1
}
],
"links": {
"first": "suborganization/1/users/notifications/export-list-independent-activities?size=10&page=1",
"last": "suborganization/1/users/notifications/export-list-independent-activities?size=10&page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"path": "suborganization/1/users/notifications/export-list-independent-activities",
"per_page": "10",
"to": 2,
"total": 2
}
}
Received response:
Request failed with error:
Read All Notifications
Read all notifications of the specified user.
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/users/notifications/read-all" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/users/notifications/read-all"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/users/notifications/read-all',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (500):
{
"errors": [
"Failed to read notifications."
]
}
Example response (200):
{
"notifications": [
{
"id": "afff2365-a4f3-48ab-8d53-6d958a9e3ab3",
"type": "App\\Notifications\\CloneNotification",
"notifiable_type": "App\\User",
"notifiable_id": 1243,
"data": {
"message": "Project(26 Project 2) has been duplicated successfully"
},
"read_at": null,
"created_at": "2020-10-16T13:46:33.000000Z",
"updated_at": "2020-10-16T13:46:33.000000Z"
}
]
}
Received response:
Request failed with error:
Read Notification
Read notification of the specified user.
Example request:
curl --request POST \
"http://localhost:8000/api/v1/users/notifications/hic/read" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/users/notifications/hic/read"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/users/notifications/hic/read',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (500):
{
"errors": [
"Failed to read notification."
]
}
Example response (200):
{
"notifications": [
{
"id": "afff2365-a4f3-48ab-8d53-6d958a9e3ab3",
"type": "App\\Notifications\\CloneNotification",
"notifiable_type": "App\\User",
"notifiable_id": 1243,
"data": {
"message": "Project(26 Project 2) has been duplicated successfully"
},
"read_at": null,
"created_at": "2020-10-16T13:46:33.000000Z",
"updated_at": "2020-10-16T13:46:33.000000Z"
}
]
}
Received response:
Request failed with error:
Delete Notification
Remove the specified notification from storage.
Example request:
curl --request POST \
"http://localhost:8000/api/v1/users/notifications/omnis/delete" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/users/notifications/omnis/delete"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/users/notifications/omnis/delete',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "Notification has been deleted successfully."
}
Example response (500):
{
"errors": [
"Failed to delete notification."
]
}
Received response:
Request failed with error:
Get All Users for Team
Get a list of the users for Team.
Example request:
curl --request POST \
"http://localhost:8000/api/v1/users/search" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"search\": \"Abby\"
}"
const url = new URL(
"http://localhost:8000/api/v1/users/search"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"search": "Abby"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/users/search',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'search' => 'Abby',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"users": [
{
"id": 1,
"first_name": "John",
"last_name": "Doe"
},
{
"id": 2,
"first_name": "Jane",
"last_name": "Doe"
}
]
}
Received response:
Request failed with error:
Get All Organization Users
Get a list of the organization users.
Example request:
curl --request POST \
"http://localhost:8000/api/v1/suborganization/1/users/search" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"search\": \"Abby\"
}"
const url = new URL(
"http://localhost:8000/api/v1/suborganization/1/users/search"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"search": "Abby"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/suborganization/1/users/search',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'search' => 'Abby',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"users": [
{
"id": 1,
"first_name": "John",
"last_name": "Doe"
},
{
"id": 2,
"first_name": "Jane",
"last_name": "Doe"
}
]
}
Received response:
Request failed with error:
Check Organization User
Check if organization user exist in specific organization or not.
Example request:
curl --request POST \
"http://localhost:8000/api/v1/suborganization/1/users/check" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"organization_id\": \"1\",
\"user_id\": \"1\"
}"
const url = new URL(
"http://localhost:8000/api/v1/suborganization/1/users/check"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"organization_id": "1",
"user_id": "1"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/suborganization/1/users/check',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'organization_id' => '1',
'user_id' => '1',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"invited": true,
"message": "Success"
}
Example response (400):
{
"invited": false,
"message": "error"
}
Received response:
Request failed with error:
Check User Email
Check if user email exist in the instance.
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/suborganization/1/users/check-email" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"email\": \"john.doe@currikistudio.org\"
}"
const url = new URL(
"http://localhost:8000/api/v1/suborganization/1/users/check-email"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"email": "john.doe@currikistudio.org"
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/suborganization/1/users/check-email',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'email' => 'john.doe@currikistudio.org',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (422):
{
"message": "The user already exists in the organization."
}
Example response (200):
{
"user": {
"id": 1,
"first_name": "John",
"last_name": "Doe",
"email": "john.doe@currikistudio.org",
"organization_name": "Curriki",
"organization_type": null,
"job_title": "Developer",
"address": "20660 Stevens Creek Blvd #332, Cupertino, CA 95014",
"phone_number": "+1234567890",
"website": "www.currikistudio.org",
"subscribed": true,
"organization_role": "Admin",
"organization_role_id": 1,
"organization_joined_at": "2022-10-12",
"projects_count": 5,
"groups_count": 1,
"teams_count": 2
},
"message": "User has been created successfully."
}
Received response:
Request failed with error:
Update Password
Update password of the specified user in storage.
Example request:
curl --request POST \
"http://localhost:8000/api/v1/users/update-password" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"current_password\": \"Password123\",
\"password\": \"Password321\",
\"password_confirmation\": \"Password321\"
}"
const url = new URL(
"http://localhost:8000/api/v1/users/update-password"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"current_password": "Password123",
"password": "Password321",
"password_confirmation": "Password321"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/users/update-password',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'current_password' => 'Password123',
'password' => 'Password321',
'password_confirmation' => 'Password321',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "Password has been updated successfully."
}
Example response (400):
{
"errors": [
"Invalid request."
]
}
Example response (500):
{
"errors": [
"Failed to update password."
]
}
Received response:
Request failed with error:
Get All Users
Get a list of the users.
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/users" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/users"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/users',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"users": [
{
"id": 1,
"first_name": "John",
"last_name": "Doe",
"email": "john.doe@currikistudio.org",
"organization_name": "Curriki",
"organization_type": null,
"job_title": "Developer",
"address": "20660 Stevens Creek Blvd #332, Cupertino, CA 95014",
"phone_number": "+1234567890",
"website": "www.currikistudio.org",
"subscribed": true
},
{
"id": 2,
"first_name": "Jane",
"last_name": "Doe",
"email": "jane.doe@currikistudio.org",
"organization_name": "Curriki",
"organization_type": null,
"job_title": "Manager",
"address": "20660 Stevens Creek Blvd #333, Cupertino, CA 95014",
"phone_number": "+1234567891",
"website": "www.currikistudio.org",
"subscribed": true
}
]
}
Received response:
Request failed with error:
Get User
Get the specified user detail.
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/users/2" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/users/2"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/users/2',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"user": {
"id": 1,
"first_name": "John",
"last_name": "Doe",
"email": "john.doe@currikistudio.org",
"organization_name": "Curriki",
"organization_type": null,
"job_title": "Developer",
"address": "20660 Stevens Creek Blvd #332, Cupertino, CA 95014",
"phone_number": "+1234567890",
"website": "www.currikistudio.org",
"subscribed": true,
"organization_role": "Admin",
"organization_role_id": 1,
"organization_joined_at": "2022-10-12",
"projects_count": 5,
"groups_count": 1,
"teams_count": 2
},
"message": "User has been created successfully."
}
Received response:
Request failed with error:
Update User
Update the specified user in storage.
Example request:
curl --request PUT \
"http://localhost:8000/api/v1/users/2" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"first_name\": \"John\",
\"last_name\": \"Doe\",
\"organization_name\": \"Curriki\",
\"organization_type\": \"mktpnrxiwrvwfwfmmnpcyngfzfigtlfctkvvjkhbrylzmskcwjklkbbdnxryfrkiytqbqbubxrdvorfvozthujfqbmlivctlohmzjhenfnxitlvjnsxdyrwolgxfwxlkukedmljqqxmah\",
\"website\": \"www.currikistudio.org\",
\"job_title\": \"Developer\",
\"address\": \"20660 Stevens Creek Blvd #332, Cupertino, CA 95014\",
\"phone_number\": \"+1234567890\"
}"
const url = new URL(
"http://localhost:8000/api/v1/users/2"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"first_name": "John",
"last_name": "Doe",
"organization_name": "Curriki",
"organization_type": "mktpnrxiwrvwfwfmmnpcyngfzfigtlfctkvvjkhbrylzmskcwjklkbbdnxryfrkiytqbqbubxrdvorfvozthujfqbmlivctlohmzjhenfnxitlvjnsxdyrwolgxfwxlkukedmljqqxmah",
"website": "www.currikistudio.org",
"job_title": "Developer",
"address": "20660 Stevens Creek Blvd #332, Cupertino, CA 95014",
"phone_number": "+1234567890"
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->put(
'http://localhost:8000/api/v1/users/2',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'first_name' => 'John',
'last_name' => 'Doe',
'organization_name' => 'Curriki',
'organization_type' => 'mktpnrxiwrvwfwfmmnpcyngfzfigtlfctkvvjkhbrylzmskcwjklkbbdnxryfrkiytqbqbubxrdvorfvozthujfqbmlivctlohmzjhenfnxitlvjnsxdyrwolgxfwxlkukedmljqqxmah',
'website' => 'www.currikistudio.org',
'job_title' => 'Developer',
'address' => '20660 Stevens Creek Blvd #332, Cupertino, CA 95014',
'phone_number' => '+1234567890',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (500):
{
"errors": [
"Failed to update profile."
]
}
Example response (200):
{
"user": {
"id": 1,
"first_name": "John",
"last_name": "Doe",
"email": "john.doe@currikistudio.org",
"organization_name": "Curriki",
"organization_type": null,
"job_title": "Developer",
"address": "20660 Stevens Creek Blvd #332, Cupertino, CA 95014",
"phone_number": "+1234567890",
"website": "www.currikistudio.org",
"subscribed": true,
"organization_role": "Admin",
"organization_role_id": 1,
"organization_joined_at": "2022-10-12",
"projects_count": 5,
"groups_count": 1,
"teams_count": 2
},
"message": "User has been created successfully."
}
Received response:
Request failed with error:
Delete User
Remove the specified user from storage.
Example request:
curl --request DELETE \
"http://localhost:8000/api/v1/users/2" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/users/2"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->delete(
'http://localhost:8000/api/v1/users/2',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "User has been deleted successfully."
}
Example response (500):
{
"errors": [
"Failed to delete profile."
]
}
Received response:
Request failed with error:
Users Basic Report
Returns the paginated response of the users with basic reporting.
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/users/report/basic" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"size\": 25,
\"query\": \"Test\"
}"
const url = new URL(
"http://localhost:8000/api/v1/users/report/basic"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"size": 25,
"query": "Test"
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/users/report/basic',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'size' => 25,
'query' => 'Test',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"current_page": 1,
"data": [
{
"id": 1242,
"first_name": "123security",
"last_name": "products",
"email": "wirelessproducts.wl@gmail.com",
"projects_count": 2,
"playlists_count": 9,
"activities_count": 60
},
{
"id": 824,
"first_name": "168xoso",
"last_name": "com",
"email": "168xosocom@gmail.com",
"projects_count": 2,
"playlists_count": 9,
"activities_count": 60
}
],
"first_page_url": "https://currikistudio.org/api/api/api/v1/admin/users/report/basic?page=1",
"from": 1,
"last_page": 816,
"last_page_url": "https://currikistudio.org/api/api/api/v1/admin/users/report/basic?page=816",
"next_page_url": "https://currikistudio.org/api/api/api/v1/admin/users/report/basic?page=2",
"path": "https://currikistudio.org/api/api/api/v1/admin/users/report/basic",
"per_page": "2",
"prev_page_url": null,
"to": 2,
"total": 1632
}
Received response:
Request failed with error:
Get All Shared Projects
Get a list of the shared projects of a user.
3. Project
APIs for project management
Get Shared Project
Get the specified shared project detail.
Get Project Search Preview
Get the specified project search preview.
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/suborganization/1/projects/3024/search-preview" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/suborganization/1/projects/3024/search-preview"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/suborganization/1/projects/3024/search-preview',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"project": {
"id": 2459,
"name": "Teach for America: High School Science",
"description": "This project consists of two playlists serving as exemplar high school science digital learning instruction.",
"thumb_url": "https://images.pexels.com/photos/593158/pexels-photo-593158.jpeg?auto=compress&cs=tinysrgb&dpr=1&fit=crop&h=200&w=280",
"shared": false,
"indexing": null,
"indexing_text": "NOT REQUESTED",
"created_at": "2021-05-03T15:41:08.000000Z",
"updated_at": "2021-05-03T15:41:08.000000Z",
"playlists": [
{
"id": 5078,
"title": "The Smallest Unit of Life: The Cell",
"project_id": 2459,
"created_at": "2021-05-03T15:41:11.000000Z",
"updated_at": "2021-05-03T15:41:11.000000Z",
"activities": [
{
"id": 23090,
"title": "What You'll Explore",
"type": "h5p",
"thumb_url": "https://images.pexels.com/photos/593158/pexels-photo-593158.jpeg?auto=compress&cs=tinysrgb&dpr=1&fit=crop&h=200&w=280",
"library_name": "H5P.Accordion 1.0"
},
{
"id": 23091,
"title": "History of Cell Theory",
"type": "h5p",
"thumb_url": "https://images.pexels.com/photos/593158/pexels-photo-593158.jpeg?auto=compress&cs=tinysrgb&dpr=1&fit=crop&h=200&w=280",
"library_name": "H5P.Column 1.11"
}
]
},
{
"id": 5079,
"title": "Understanding the Atom",
"project_id": 2459,
"created_at": "2021-05-03T15:41:15.000000Z",
"updated_at": "2021-05-03T15:41:15.000000Z",
"activities": [
{
"id": 23097,
"title": "Build an Atom",
"type": "h5p",
"thumb_url": "https://images.pexels.com/photos/593158/pexels-photo-593158.jpeg?auto=compress&cs=tinysrgb&dpr=1&fit=crop&h=200&w=280",
"library_name": "H5P.IFrameEmbed 1.0"
}
]
}
]
}
}
Received response:
Request failed with error:
Upload thumbnail
Upload thumbnail image for a project
Example request:
curl --request POST \
"http://localhost:8000/api/v1/suborganization/1/projects/upload-thumb" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"thumb\": \"(binary)\",
\"project_id\": 16
}"
const url = new URL(
"http://localhost:8000/api/v1/suborganization/1/projects/upload-thumb"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"thumb": "(binary)",
"project_id": 16
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/suborganization/1/projects/upload-thumb',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'thumb' => '(binary)',
'project_id' => 16,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"thumbUrl": "/storage/projects/1fqwe2f65ewf465qwe46weef5w5eqwq.png"
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"thumb": [
"The thumb must be an image."
]
}
}
Received response:
Request failed with error:
Get Recent Projects
Get a list of the recent projects of a user.
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/suborganization/1/projects/recent" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/suborganization/1/projects/recent"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/suborganization/1/projects/recent',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"projects": [
{
"id": 1,
"name": "Test Project",
"description": "This is a test project.",
"thumb_url": "https://images.pexels.com/photos/2832382",
"shared": true,
"starter_project": null,
"is_public": true,
"playlists": [
{
"id": 1,
"title": "Test Playlist 1",
"order": 1,
"created_at": "2020-09-10T19:21:08.000000Z",
"updated_at": "2020-09-10T19:21:08.000000Z"
},
{
"id": 2,
"title": "Test Playlist 2",
"order": 2,
"created_at": "2020-09-11T19:21:08.000000Z",
"updated_at": "2020-09-11T19:21:08.000000Z"
}
],
"created_at": "2020-09-06T19:21:08.000000Z",
"updated_at": "2020-09-06T19:21:08.000000Z"
},
{
"id": 2,
"name": "Math Project",
"description": "This is a test math project.",
"thumb_url": "https://images.pexels.com/photos/2832382",
"shared": true,
"starter_project": null,
"is_public": true,
"playlists": [
{
"id": 3,
"title": "Test Playlist 3",
"order": 1,
"created_at": "2020-09-12T19:21:08.000000Z",
"updated_at": "2020-09-12T19:21:08.000000Z"
},
{
"id": 4,
"title": "Test Playlist 4",
"order": 2,
"created_at": "2020-09-13T19:21:08.000000Z",
"updated_at": "2020-09-13T19:21:08.000000Z"
}
],
"created_at": "2020-09-07T19:21:08.000000Z",
"updated_at": "2020-09-07T19:21:08.000000Z"
}
]
}
Received response:
Request failed with error:
Get Default Projects
Get a list of the default projects.
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/suborganization/1/projects/default?size=10&order_by_type=ASC+OR+DESC&order_by_column8=name%2C+created_at" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"size\": 14,
\"order_by_column\": \"name\",
\"order_by_type\": \"DESC\"
}"
const url = new URL(
"http://localhost:8000/api/v1/suborganization/1/projects/default"
);
const params = {
"size": "10",
"order_by_type": "ASC OR DESC",
"order_by_column8": "name, created_at",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"size": 14,
"order_by_column": "name",
"order_by_type": "DESC"
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/suborganization/1/projects/default',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'size'=> '10',
'order_by_type'=> 'ASC OR DESC',
'order_by_column8'=> 'name, created_at',
],
'json' => [
'size' => 14,
'order_by_column' => 'name',
'order_by_type' => 'DESC',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
array
Example response (200):
{
"projects": [
{
"id": 1,
"name": "Test Project",
"description": "This is a test project.",
"thumb_url": "https://images.pexels.com/photos/2832382",
"shared": true,
"starter_project": null,
"is_public": true,
"playlists": [
{
"id": 1,
"title": "Test Playlist 1",
"order": 1,
"created_at": "2020-09-10T19:21:08.000000Z",
"updated_at": "2020-09-10T19:21:08.000000Z"
},
{
"id": 2,
"title": "Test Playlist 2",
"order": 2,
"created_at": "2020-09-11T19:21:08.000000Z",
"updated_at": "2020-09-11T19:21:08.000000Z"
}
],
"created_at": "2020-09-06T19:21:08.000000Z",
"updated_at": "2020-09-06T19:21:08.000000Z"
},
{
"id": 2,
"name": "Math Project",
"description": "This is a test math project.",
"thumb_url": "https://images.pexels.com/photos/2832382",
"shared": true,
"starter_project": null,
"is_public": true,
"playlists": [
{
"id": 3,
"title": "Test Playlist 3",
"order": 1,
"created_at": "2020-09-12T19:21:08.000000Z",
"updated_at": "2020-09-12T19:21:08.000000Z"
},
{
"id": 4,
"title": "Test Playlist 4",
"order": 2,
"created_at": "2020-09-13T19:21:08.000000Z",
"updated_at": "2020-09-13T19:21:08.000000Z"
}
],
"created_at": "2020-09-07T19:21:08.000000Z",
"updated_at": "2020-09-07T19:21:08.000000Z"
}
]
}
Received response:
Request failed with error:
Get All Projects Detail
Get a list of the projects of a user with detail.
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/suborganization/1/projects/detail" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/suborganization/1/projects/detail"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/suborganization/1/projects/detail',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"projects": [
{
"id": 1,
"name": "Test Project",
"description": "This is a test project.",
"thumb_url": "https://images.pexels.com/photos/2832382",
"shared": true,
"starter_project": null,
"is_public": true,
"playlists": [
{
"id": 1,
"title": "Test Playlist 1",
"order": 1,
"created_at": "2020-09-10T19:21:08.000000Z",
"updated_at": "2020-09-10T19:21:08.000000Z"
},
{
"id": 2,
"title": "Test Playlist 2",
"order": 2,
"created_at": "2020-09-11T19:21:08.000000Z",
"updated_at": "2020-09-11T19:21:08.000000Z"
}
],
"created_at": "2020-09-06T19:21:08.000000Z",
"updated_at": "2020-09-06T19:21:08.000000Z"
},
{
"id": 2,
"name": "Math Project",
"description": "This is a test math project.",
"thumb_url": "https://images.pexels.com/photos/2832382",
"shared": true,
"starter_project": null,
"is_public": true,
"playlists": [
{
"id": 3,
"title": "Test Playlist 3",
"order": 1,
"created_at": "2020-09-12T19:21:08.000000Z",
"updated_at": "2020-09-12T19:21:08.000000Z"
},
{
"id": 4,
"title": "Test Playlist 4",
"order": 2,
"created_at": "2020-09-13T19:21:08.000000Z",
"updated_at": "2020-09-13T19:21:08.000000Z"
}
],
"created_at": "2020-09-07T19:21:08.000000Z",
"updated_at": "2020-09-07T19:21:08.000000Z"
}
]
}
Received response:
Request failed with error:
GET api/v1/projects/update-order
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/projects/update-order" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/projects/update-order"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/projects/update-order',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (500):
Show headers
cache-control: no-cache, private
content-type: application/json
{
"message": "Unable to read key from file file://D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\storage\\oauth-public.key",
"exception": "LogicException",
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\league\\oauth2-server\\src\\CryptKey.php",
"line": 67,
"trace": [
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\passport\\src\\PassportServiceProvider.php",
"line": 275,
"function": "__construct",
"class": "League\\OAuth2\\Server\\CryptKey",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\passport\\src\\PassportServiceProvider.php",
"line": 256,
"function": "makeCryptKey",
"class": "Laravel\\Passport\\PassportServiceProvider",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 873,
"function": "Laravel\\Passport\\{closure}",
"class": "Laravel\\Passport\\PassportServiceProvider",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 758,
"function": "build",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Application.php",
"line": 851,
"function": "resolve",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 694,
"function": "resolve",
"class": "Illuminate\\Foundation\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Application.php",
"line": 836,
"function": "make",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\passport\\src\\PassportServiceProvider.php",
"line": 304,
"function": "make",
"class": "Illuminate\\Foundation\\Application",
"type": "->"
},
{
"function": "Laravel\\Passport\\{closure}",
"class": "Laravel\\Passport\\PassportServiceProvider",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\RequestGuard.php",
"line": 58,
"function": "call_user_func"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\GuardHelpers.php",
"line": 60,
"function": "user",
"class": "Illuminate\\Auth\\RequestGuard",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\Middleware\\Authenticate.php",
"line": 63,
"function": "check",
"class": "Illuminate\\Auth\\RequestGuard",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\Middleware\\Authenticate.php",
"line": 42,
"function": "authenticate",
"class": "Illuminate\\Auth\\Middleware\\Authenticate",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Auth\\Middleware\\Authenticate",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 103,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 723,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 698,
"function": "runRouteWithinStack",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 662,
"function": "runRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 651,
"function": "dispatchToRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 167,
"function": "dispatch",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 128,
"function": "Illuminate\\Foundation\\Http\\{closure}",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull.php",
"line": 31,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TrimStrings.php",
"line": 40,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TrimStrings",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize.php",
"line": 27,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance.php",
"line": 86,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\app\\Http\\Middleware\\Cors.php",
"line": 40,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "App\\Http\\Middleware\\Cors",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\fideloper\\proxy\\src\\TrustProxies.php",
"line": 57,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Fideloper\\Proxy\\TrustProxies",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 103,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 142,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 111,
"function": "sendRequestThroughRouter",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 299,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 287,
"function": "callLaravelOrLumenRoute",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 89,
"function": "makeApiCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 45,
"function": "makeResponseCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 35,
"function": "makeResponseCallIfConditionsPass",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 222,
"function": "__invoke",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 179,
"function": "iterateThroughStrategies",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 116,
"function": "fetchResponses",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 123,
"function": "processRoute",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 80,
"function": "extractEndpointsInfoFromLaravelApp",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 56,
"function": "extractEndpointsInfoAndWriteToDisk",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Commands\\GenerateDocumentation.php",
"line": 55,
"function": "get",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 36,
"function": "handle",
"class": "Knuckles\\Scribe\\Commands\\GenerateDocumentation",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Util.php",
"line": 40,
"function": "Illuminate\\Container\\{closure}",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 93,
"function": "unwrapIfClosure",
"class": "Illuminate\\Container\\Util",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 37,
"function": "callBoundMethod",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 653,
"function": "call",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
"line": 136,
"function": "call",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Command\\Command.php",
"line": 298,
"function": "execute",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
"line": 121,
"function": "run",
"class": "Symfony\\Component\\Console\\Command\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 1040,
"function": "run",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 301,
"function": "doRunCommand",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 171,
"function": "doRun",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Application.php",
"line": 94,
"function": "run",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Console\\Kernel.php",
"line": 129,
"function": "run",
"class": "Illuminate\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\artisan",
"line": 37,
"function": "handle",
"class": "Illuminate\\Foundation\\Console\\Kernel",
"type": "->"
}
]
}
Received response:
Request failed with error:
Get All Favorite Projects of login user
Get a list of the favorite projects of a user.
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/suborganization/1/projects/favorites" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"size\": 17,
\"order_by_column\": \"order.status\",
\"order_by_type\": \"asc\"
}"
const url = new URL(
"http://localhost:8000/api/v1/suborganization/1/projects/favorites"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"size": 17,
"order_by_column": "order.status",
"order_by_type": "asc"
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/suborganization/1/projects/favorites',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'size' => 17,
'order_by_column' => 'order.status',
'order_by_type' => 'asc',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"projects": [
{
"id": 1,
"name": "Test Project",
"description": "This is a test project.",
"thumb_url": "https://images.pexels.com/photos/2832382",
"shared": true,
"starter_project": null,
"is_public": true,
"gcr_project_visibility": true,
"created_at": "2020-09-06T19:21:08.000000Z",
"updated_at": "2020-09-06T19:21:08.000000Z"
},
{
"id": 2,
"name": "Math Project",
"description": "This is a test math project.",
"thumb_url": "https://images.pexels.com/photos/2832384",
"shared": true,
"starter_project": null,
"is_public": true,
"created_at": "2020-09-07T19:21:08.000000Z",
"updated_at": "2020-09-07T19:21:08.000000Z"
}
]
}
Received response:
Request failed with error:
Reorder Projects
Reorder projects of a user.
Example request:
curl --request POST \
"http://localhost:8000/api/v1/suborganization/1/projects/reorder" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"projects\": [
1,
2,
3
]
}"
const url = new URL(
"http://localhost:8000/api/v1/suborganization/1/projects/reorder"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"projects": [
1,
2,
3
]
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/suborganization/1/projects/reorder',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'projects' => [
1,
2,
3,
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"projects": [
{
"id": 1,
"name": "Test Project",
"description": "This is a test project.",
"thumb_url": "https://images.pexels.com/photos/2832382",
"shared": true,
"starter_project": null,
"is_public": true,
"gcr_project_visibility": true,
"created_at": "2020-09-06T19:21:08.000000Z",
"updated_at": "2020-09-06T19:21:08.000000Z"
},
{
"id": 2,
"name": "Math Project",
"description": "This is a test math project.",
"thumb_url": "https://images.pexels.com/photos/2832384",
"shared": true,
"starter_project": null,
"is_public": true,
"created_at": "2020-09-07T19:21:08.000000Z",
"updated_at": "2020-09-07T19:21:08.000000Z"
}
]
}
Received response:
Request failed with error:
Update Project's Order
Update project's order.
Example request:
curl --request POST \
"http://localhost:8000/api/v1/suborganization/1/projects/1/order" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"order\": 1
}"
const url = new URL(
"http://localhost:8000/api/v1/suborganization/1/projects/1/order"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"order": 1
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/suborganization/1/projects/1/order',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'order' => 1,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "Project reorder has been successful."
}
Example response (500):
{
"errors": [
"Failed to reorder project."
]
}
Received response:
Request failed with error:
Share Project
Share the specified project of a user.
Clone Project
Clone the specified project of a user.
Example request:
curl --request POST \
"http://localhost:8000/api/v1/suborganization/1/projects/3024/clone" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"user_id\": \"1\"
}"
const url = new URL(
"http://localhost:8000/api/v1/suborganization/1/projects/3024/clone"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"user_id": "1"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/suborganization/1/projects/3024/clone',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'user_id' => '1',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "Project is being cloned|duplicated in background!"
}
Example response (400):
{
"errors": [
"Not a Public Project."
]
}
Received response:
Request failed with error:
Export Project
Export the specified project of a user.
Example request:
curl --request POST \
"http://localhost:8000/api/v1/suborganization/1/projects/3024/export" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/suborganization/1/projects/3024/export"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/suborganization/1/projects/3024/export',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "Project is being cloned|duplicated in background!"
}
Received response:
Request failed with error:
Export Noovo Project
Export the specified project of a user.
Example request:
curl --request POST \
"http://localhost:8000/api/v1/suborganization/1/projects/3024/export-noovo" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/suborganization/1/projects/3024/export-noovo"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/suborganization/1/projects/3024/export-noovo',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "Project is being cloned|duplicated in background!"
}
Received response:
Request failed with error:
Import Project
Import the specified project of a user.
Example request:
curl --request POST \
"http://localhost:8000/api/v1/suborganization/1/projects/import" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"project\": \"incidunt\"
}"
const url = new URL(
"http://localhost:8000/api/v1/suborganization/1/projects/import"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"project": "incidunt"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/suborganization/1/projects/import',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'project' => 'incidunt',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "Project is being cloned|duplicated in background!"
}
Received response:
Request failed with error:
Remove Share Project
Remove share the specified project of a user.
Favorite/Unfavorite Project
Favorite/Unfavorite the specified project for a user.
Example request:
curl --request POST \
"http://localhost:8000/api/v1/suborganization/1/projects/3024/favorite" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/suborganization/1/projects/3024/favorite"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/suborganization/1/projects/3024/favorite',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "This resource will be removed from your Favorites. You will no longer be able to reuse/remix its contents into your projects."
}
Received response:
Request failed with error:
Get All Organization Team's Projects
Get a list of the team's projects of an organization.
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/suborganization/1/team-projects" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/suborganization/1/team-projects"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/suborganization/1/team-projects',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": [
{
"id": 10,
"organization_id": 1,
"organization_visibility_type_id": 1,
"name": "project 1",
"description": "test fffff rrrr",
"thumb_url": "",
"shared": true,
"starter_project": false,
"order": 2,
"status": 1,
"status_text": "DRAFT",
"indexing": null,
"is_user_starter": false,
"indexing_text": "NOT REQUESTED",
"created_at": "2021-08-17T11:15:58.000000Z",
"updated_at": "2021-08-17T11:15:58.000000Z",
"users": [
{
"id": 1,
"name": "Test User",
"email": "test@test.com",
"email_verified_at": "2021-03-05T15:53:34.000000Z",
"created_at": null,
"updated_at": null,
"first_name": "Test",
"last_name": "User",
"organization_name": null,
"job_title": null,
"address": null,
"phone_number": null,
"organization_type": null,
"website": null,
"deleted_at": null,
"role": null,
"gapi_access_token": null,
"hubspot": false,
"subscribed": false,
"subscribed_ip": null,
"membership_type_id": 2,
"pivot": {
"project_id": 10,
"user_id": 1,
"role": "owner",
"created_at": "2021-08-17T11:15:58.000000Z",
"updated_at": "2021-08-17T11:15:58.000000Z"
}
}
],
"team": {
"id": 63,
"name": "Team Test One",
"created_at": "2021-08-17T11:15:57.000000Z",
"updated_at": "2021-08-17T11:15:57.000000Z",
"deleted_at": null,
"description": "desc",
"indexing": null,
"organization_id": 1,
"original_user": null
}
},
{
"id": 11,
"organization_id": 1,
"organization_visibility_type_id": 1,
"name": "The Science of Golf",
"description": "Uncover the science, technology, engineering, and mathematics behind the game of golf.",
"thumb_url": "",
"shared": true,
"starter_project": false,
"order": 2,
"status": 1,
"status_text": "DRAFT",
"indexing": null,
"is_user_starter": false,
"indexing_text": "NOT REQUESTED",
"created_at": "2021-08-17T11:21:09.000000Z",
"updated_at": "2021-08-23T17:17:46.000000Z",
"users": [
{
"id": 1,
"name": "Test User 2",
"email": "test2@test.com",
"email_verified_at": "2021-03-05T15:53:34.000000Z",
"created_at": null,
"updated_at": null,
"first_name": "Test",
"last_name": "User 2",
"organization_name": null,
"job_title": null,
"address": null,
"phone_number": null,
"organization_type": null,
"website": null,
"deleted_at": null,
"role": null,
"gapi_access_token": null,
"hubspot": false,
"subscribed": false,
"subscribed_ip": null,
"membership_type_id": 2,
"pivot": {
"project_id": 11,
"user_id": 1,
"role": "owner",
"created_at": "2021-08-17T11:21:09.000000Z",
"updated_at": "2021-08-17T11:21:09.000000Z"
}
}
],
"team": {
"id": 64,
"name": "Team 2 Test",
"created_at": "2021-08-17T11:21:08.000000Z",
"updated_at": "2021-08-17T11:21:08.000000Z",
"deleted_at": null,
"description": "desc",
"indexing": null,
"organization_id": 2,
"original_user": null
}
}
],
"links": {
"first": "http://localhost:8000/api/v1/suborganization/1/team-projects?page=1",
"last": "http://localhost:8000/api/v1/suborganization/1/team-projects?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"path": "http://localhost:8000/api/v1/suborganization/1/team-projects",
"per_page": 10,
"to": 2,
"total": 2
}
}
Received response:
Request failed with error:
Get All Projects of login user
Get a list of the projects of a user.
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/suborganization/1/projects?size=10&order_by_type=ASC+OR+DESC&order_by_column8=name%2C+created_at" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"size\": 20,
\"order_by_column\": \"id\",
\"order_by_type\": \"asc\"
}"
const url = new URL(
"http://localhost:8000/api/v1/suborganization/1/projects"
);
const params = {
"size": "10",
"order_by_type": "ASC OR DESC",
"order_by_column8": "name, created_at",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"size": 20,
"order_by_column": "id",
"order_by_type": "asc"
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/suborganization/1/projects',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'size'=> '10',
'order_by_type'=> 'ASC OR DESC',
'order_by_column8'=> 'name, created_at',
],
'json' => [
'size' => 20,
'order_by_column' => 'id',
'order_by_type' => 'asc',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
array
Example response (200):
{
"projects": [
{
"id": 1,
"name": "Test Project",
"description": "This is a test project.",
"thumb_url": "https://images.pexels.com/photos/2832382",
"shared": true,
"starter_project": null,
"is_public": true,
"gcr_project_visibility": true,
"created_at": "2020-09-06T19:21:08.000000Z",
"updated_at": "2020-09-06T19:21:08.000000Z"
},
{
"id": 2,
"name": "Math Project",
"description": "This is a test math project.",
"thumb_url": "https://images.pexels.com/photos/2832384",
"shared": true,
"starter_project": null,
"is_public": true,
"created_at": "2020-09-07T19:21:08.000000Z",
"updated_at": "2020-09-07T19:21:08.000000Z"
}
]
}
Received response:
Request failed with error:
Create Project
Create a new project in storage for a user.
Example request:
curl --request POST \
"http://localhost:8000/api/v1/suborganization/1/projects" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"Test Project\",
\"description\": \"This is a test project.\",
\"thumb_url\": \"https:\\/\\/images.pexels.com\\/photos\\/2832382\",
\"organization_visibility_type_id\": 1
}"
const url = new URL(
"http://localhost:8000/api/v1/suborganization/1/projects"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "Test Project",
"description": "This is a test project.",
"thumb_url": "https:\/\/images.pexels.com\/photos\/2832382",
"organization_visibility_type_id": 1
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/suborganization/1/projects',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'name' => 'Test Project',
'description' => 'This is a test project.',
'thumb_url' => 'https://images.pexels.com/photos/2832382',
'organization_visibility_type_id' => 1,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (500):
{
"errors": [
"Could not create project. Please try again later."
]
}
Example response (201):
{
"project": {
"id": 1,
"organization_id": 1,
"organization_visibility_type_id": 4,
"name": "The Science of Golf",
"description": "Uncover the science, technology, engineering, and mathematics behind the game of golf.",
"thumb_url": "/storage/uploads/nN5y8v8zh2ghxrKuHCv5wvJOREFw0Nr27s2DPxWq.png",
"shared": false,
"gcr_project_visibility": true,
"starter_project": false,
"order": null,
"status": 1,
"status_text": "DRAFT",
"indexing": null,
"indexing_text": "NOT REQUESTED",
"created_at": "2020-04-30T20:03:12.000000Z",
"updated_at": "2020-09-17T09:44:27.000000Z"
}
}
Received response:
Request failed with error:
Get Project
Get the specified project detail.
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/suborganization/1/projects/3024" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/suborganization/1/projects/3024"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/suborganization/1/projects/3024',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (201):
{
"project": {
"id": 1,
"organization_id": 1,
"organization_visibility_type_id": 4,
"name": "The Science of Golf",
"description": "Uncover the science, technology, engineering, and mathematics behind the game of golf.",
"thumb_url": "/storage/uploads/nN5y8v8zh2ghxrKuHCv5wvJOREFw0Nr27s2DPxWq.png",
"shared": false,
"gcr_project_visibility": true,
"starter_project": false,
"order": null,
"status": 1,
"status_text": "DRAFT",
"indexing": null,
"indexing_text": "NOT REQUESTED",
"created_at": "2020-04-30T20:03:12.000000Z",
"updated_at": "2020-09-17T09:44:27.000000Z"
}
}
Received response:
Request failed with error:
Update Project
Update the specified project of a user.
Example request:
curl --request PUT \
"http://localhost:8000/api/v1/suborganization/1/projects/3024" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"Test Project\",
\"description\": \"This is a test project.\",
\"thumb_url\": \"https:\\/\\/images.pexels.com\\/photos\\/2832382\",
\"organization_visibility_type_id\": 1,
\"user_id\": 1,
\"shared\": true
}"
const url = new URL(
"http://localhost:8000/api/v1/suborganization/1/projects/3024"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "Test Project",
"description": "This is a test project.",
"thumb_url": "https:\/\/images.pexels.com\/photos\/2832382",
"organization_visibility_type_id": 1,
"user_id": 1,
"shared": true
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->put(
'http://localhost:8000/api/v1/suborganization/1/projects/3024',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'name' => 'Test Project',
'description' => 'This is a test project.',
'thumb_url' => 'https://images.pexels.com/photos/2832382',
'organization_visibility_type_id' => 1,
'user_id' => 1,
'shared' => true,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (500):
{
"errors": [
"Failed to update project."
]
}
Example response (200):
{
"project": {
"id": 1,
"organization_id": 1,
"organization_visibility_type_id": 4,
"name": "The Science of Golf",
"description": "Uncover the science, technology, engineering, and mathematics behind the game of golf.",
"thumb_url": "/storage/uploads/nN5y8v8zh2ghxrKuHCv5wvJOREFw0Nr27s2DPxWq.png",
"shared": false,
"gcr_project_visibility": true,
"starter_project": false,
"order": null,
"status": 1,
"status_text": "DRAFT",
"indexing": null,
"indexing_text": "NOT REQUESTED",
"created_at": "2020-04-30T20:03:12.000000Z",
"updated_at": "2020-09-17T09:44:27.000000Z"
}
}
Received response:
Request failed with error:
Remove Project
Remove the specified project of a user.
Example request:
curl --request DELETE \
"http://localhost:8000/api/v1/suborganization/1/projects/3024" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/suborganization/1/projects/3024"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->delete(
'http://localhost:8000/api/v1/suborganization/1/projects/3024',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "Project has been deleted successfully."
}
Example response (500):
{
"errors": [
"Failed to delete project."
]
}
Received response:
Request failed with error:
Get Projects by Ids
Get the Projects by Ids
Example request:
curl --request POST \
"http://localhost:8000/api/v1/suborganization/ducimus/projects/by-ids" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/suborganization/ducimus/projects/by-ids"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/suborganization/ducimus/projects/by-ids',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
Projects
Received response:
Request failed with error:
Get All Organization Projects
Get a list of the projects of an organization.
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/suborganizations/1/projects" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"query\": \"Vivensity\",
\"indexing\": \"2\",
\"exclude_starter\": \"true\",
\"starter_project\": \"false\",
\"shared\": false,
\"created_from\": \"2022-12-01\",
\"created_to\": \"2022-12-01\",
\"updated_from\": \"2022-12-01\",
\"updated_to\": \"2022-12-01\",
\"author_id\": 19,
\"order_by_column\": \"name\",
\"order_by_type\": \"asc\",
\"size\": 10
}"
const url = new URL(
"http://localhost:8000/api/v1/suborganizations/1/projects"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"query": "Vivensity",
"indexing": "2",
"exclude_starter": "true",
"starter_project": "false",
"shared": false,
"created_from": "2022-12-01",
"created_to": "2022-12-01",
"updated_from": "2022-12-01",
"updated_to": "2022-12-01",
"author_id": 19,
"order_by_column": "name",
"order_by_type": "asc",
"size": 10
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/suborganizations/1/projects',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'query' => 'Vivensity',
'indexing' => '2',
'exclude_starter' => 'true',
'starter_project' => 'false',
'shared' => false,
'created_from' => '2022-12-01',
'created_to' => '2022-12-01',
'updated_from' => '2022-12-01',
'updated_to' => '2022-12-01',
'author_id' => 19,
'order_by_column' => 'name',
'order_by_type' => 'asc',
'size' => 10,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"projects": [
{
"id": 1,
"name": "Test Project",
"description": "This is a test project.",
"thumb_url": "https://images.pexels.com/photos/2832382",
"shared": true,
"starter_project": null,
"is_public": true,
"gcr_project_visibility": true,
"created_at": "2020-09-06T19:21:08.000000Z",
"updated_at": "2020-09-06T19:21:08.000000Z"
},
{
"id": 2,
"name": "Math Project",
"description": "This is a test math project.",
"thumb_url": "https://images.pexels.com/photos/2832384",
"shared": true,
"starter_project": null,
"is_public": true,
"created_at": "2020-09-07T19:21:08.000000Z",
"updated_at": "2020-09-07T19:21:08.000000Z"
}
]
}
Received response:
Request failed with error:
Project Indexing
Modify the index value of a project.
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/projects/3024/indexes/3" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/projects/3024/indexes/3"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/projects/3024/indexes/3',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "Library status changed successfully!",
}
Example response (500):
{
"errors": [
"Invalid index value provided."
]
}
Received response:
Request failed with error:
Starter Project Toggle
Toggle the starter flag of any project
Example request:
curl --request POST \
"http://localhost:8000/api/v1/projects/starter/veniam" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"projects\": [
1,
2,
3
],
\"flag\": true
}"
const url = new URL(
"http://localhost:8000/api/v1/projects/starter/veniam"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"projects": [
1,
2,
3
],
"flag": true
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/projects/starter/veniam',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'projects' => [
1,
2,
3,
],
'flag' => true,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "Starter Projects status updated successfully!",
}
Example response (500):
{
"errors": [
"Choose at-least one project."
]
}
Received response:
Request failed with error:
4. Playlist
APIs for playlist management
Get Shared Playlist
Get the specified shared playlist of a Project.
Get Shared Playlist
Get the specified shared playlist detail.
Get All Shared Playlists of a Project
Get the list of shared playlists detail.
GET api/v1/playlists/update-order
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/playlists/update-order" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/playlists/update-order"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/playlists/update-order',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
Show headers
content-type: text/html; charset=UTF-8
cache-control: no-cache, private
Received response:
Request failed with error:
Reorder Playlists
Reorder playlists of a project.
Example request:
curl --request POST \
"http://localhost:8000/api/v1/projects/3024/playlists/reorder" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"playlists\": [
\"nulla\"
]
}"
const url = new URL(
"http://localhost:8000/api/v1/projects/3024/playlists/reorder"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"playlists": [
"nulla"
]
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/projects/3024/playlists/reorder',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'playlists' => [
'nulla',
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"playlists": [
{
"id": 1,
"title": "Math Playlist",
"order": 0,
"is_public": true,
"gcr_playlist_visibility": true,
"project_id": 1,
"project": {
"id": 1,
"name": "Test Project",
"description": "This is a test project.",
"thumb_url": "https://images.pexels.com/photos/2832382",
"shared": true,
"starter_project": null,
"users": [
{
"id": 1,
"first_name": "John",
"last_name": "Doe",
"email": "john.doe@currikistudio.org",
"role": "owner"
}
],
"is_public": true,
"created_at": "2020-09-06T19:21:08.000000Z",
"updated_at": "2020-09-06T19:21:08.000000Z"
},
"activities": [
{
"id": 1,
"playlist_id": 1,
"title": "Audio Record",
"type": "h5p",
"content": "Audio Record content",
"shared": true,
"order": 0,
"thumb_url": "/storage/activities/3vVpHHh75MJHOV6a6iZdy13luBaiNn1SrniYpBbQ.png",
"subject_id": "Career & Technical Education",
"education_level_id": null,
"h5p_content": {
"id": 19430,
"user_id": 1,
"title": "record",
"library_id": 98,
"parameters": "{\"l10n\":{\"recordAnswer\":\"Record\",\"pause\":\"Pause\",\"continue\":\"Continue\",\"download\":\"Download\",\"done\":\"Done\",\"retry\":\"Retry\",\"microphoneNotSupported\":\"Microphone not supported. Make sure you are using a browser that allows microphone recording.\",\"microphoneInaccessible\":\"Microphone is not accessible. Make sure that the browser microphone is enabled.\",\"insecureNotAllowed\":\"Access to microphone is not allowed in your browser since this page is not served using HTTPS. Please contact the author, and ask him to make this available using HTTPS\",\"statusReadyToRecord\":\"Press a button below to record your answer.\",\"statusRecording\":\"Recording...\",\"statusPaused\":\"Recording paused. Press a button to continue recording.\",\"statusFinishedRecording\":\"You have successfully recorded your answer! Listen to the recording below.\",\"downloadRecording\":\"Download this recording or retry.\",\"retryDialogHeaderText\":\"Retry recording?\",\"retryDialogBodyText\":\"By pressing \\\"Retry\\\" you will lose your current recording.\",\"retryDialogConfirmText\":\"Retry\",\"retryDialogCancelText\":\"Cancel\",\"statusCantCreateTheAudioFile\":\"Can't create the audio file.\"}}",
"filtered": "{\"l10n\":{\"recordAnswer\":\"Record\",\"pause\":\"Pause\",\"continue\":\"Continue\",\"download\":\"Download\",\"done\":\"Done\",\"retry\":\"Retry\",\"microphoneNotSupported\":\"Microphone not supported. Make sure you are using a browser that allows microphone recording.\",\"microphoneInaccessible\":\"Microphone is not accessible. Make sure that the browser microphone is enabled.\",\"insecureNotAllowed\":\"Access to microphone is not allowed in your browser since this page is not served using HTTPS. Please contact the author, and ask him to make this available using HTTPS\",\"statusReadyToRecord\":\"Press a button below to record your answer.\",\"statusRecording\":\"Recording...\",\"statusPaused\":\"Recording paused. Press a button to continue recording.\",\"statusFinishedRecording\":\"You have successfully recorded your answer! Listen to the recording below.\",\"downloadRecording\":\"Download this recording or retry.\",\"retryDialogHeaderText\":\"Retry recording?\",\"retryDialogBodyText\":\"By pressing "Retry" you will lose your current recording.\",\"retryDialogConfirmText\":\"Retry\",\"retryDialogCancelText\":\"Cancel\",\"statusCantCreateTheAudioFile\":\"Can't create the audio file.\"}}",
"slug": "record",
"embed_type": "div",
"disable": 9,
"content_type": null,
"authors": null,
"source": null,
"year_from": null,
"year_to": null,
"license": "U",
"license_version": null,
"license_extras": null,
"author_comments": null,
"changes": null,
"default_language": null,
"created_at": "2020-09-27T07:14:57.000000Z",
"updated_at": "2020-09-27T07:14:57.000000Z"
},
"is_public": false,
"created_at": "2020-09-27T07:14:57.000000Z",
"updated_at": "2020-09-27T07:14:57.000000Z"
},
{
"id": 2,
"playlist_id": 1,
"title": "Language Arts",
"type": "h5p",
"content": "Language Arts content",
"shared": true,
"order": 1,
"thumb_url": "/storage/activities/w2LXV4VMPgccjJyZbs16wSzglX1s58K5NFfFp7ed.png",
"subject_id": "Language Arts",
"education_level_id": null,
"h5p_content": {
"id": 19431,
"user_id": 1,
"title": "fghfhg",
"library_id": 98,
"parameters": "{\"l10n\":{\"recordAnswer\":\"Record\",\"pause\":\"Pause\",\"continue\":\"Continue\",\"download\":\"Download\",\"done\":\"Done\",\"retry\":\"Retry\",\"microphoneNotSupported\":\"Microphone not supported. Make sure you are using a browser that allows microphone recording.\",\"microphoneInaccessible\":\"Microphone is not accessible. Make sure that the browser microphone is enabled.\",\"insecureNotAllowed\":\"Access to microphone is not allowed in your browser since this page is not served using HTTPS. Please contact the author, and ask him to make this available using HTTPS\",\"statusReadyToRecord\":\"Press a button below to record your answer.\",\"statusRecording\":\"Recording...\",\"statusPaused\":\"Recording paused. Press a button to continue recording.\",\"statusFinishedRecording\":\"You have successfully recorded your answer! Listen to the recording below.\",\"downloadRecording\":\"Download this recording or retry.\",\"retryDialogHeaderText\":\"Retry recording?\",\"retryDialogBodyText\":\"By pressing \\\"Retry\\\" you will lose your current recording.\",\"retryDialogConfirmText\":\"Retry\",\"retryDialogCancelText\":\"Cancel\",\"statusCantCreateTheAudioFile\":\"Can't create the audio file.\"}}",
"filtered": "{\"l10n\":{\"recordAnswer\":\"Record\",\"pause\":\"Pause\",\"continue\":\"Continue\",\"download\":\"Download\",\"done\":\"Done\",\"retry\":\"Retry\",\"microphoneNotSupported\":\"Microphone not supported. Make sure you are using a browser that allows microphone recording.\",\"microphoneInaccessible\":\"Microphone is not accessible. Make sure that the browser microphone is enabled.\",\"insecureNotAllowed\":\"Access to microphone is not allowed in your browser since this page is not served using HTTPS. Please contact the author, and ask him to make this available using HTTPS\",\"statusReadyToRecord\":\"Press a button below to record your answer.\",\"statusRecording\":\"Recording...\",\"statusPaused\":\"Recording paused. Press a button to continue recording.\",\"statusFinishedRecording\":\"You have successfully recorded your answer! Listen to the recording below.\",\"downloadRecording\":\"Download this recording or retry.\",\"retryDialogHeaderText\":\"Retry recording?\",\"retryDialogBodyText\":\"By pressing "Retry" you will lose your current recording.\",\"retryDialogConfirmText\":\"Retry\",\"retryDialogCancelText\":\"Cancel\",\"statusCantCreateTheAudioFile\":\"Can't create the audio file.\"}}",
"slug": "fghfhg",
"embed_type": "div",
"disable": 9,
"content_type": null,
"authors": null,
"source": null,
"year_from": null,
"year_to": null,
"license": "U",
"license_version": null,
"license_extras": null,
"author_comments": null,
"changes": null,
"default_language": null,
"created_at": "2020-09-07T07:15:31.000000Z",
"updated_at": "2020-09-07T07:15:31.000000Z"
},
"is_public": false,
"created_at": "2020-09-07T07:15:31.000000Z",
"updated_at": "2020-09-07T07:15:31.000000Z"
}
],
"created_at": "2020-09-07T17:01:24.000000Z",
"updated_at": "2020-09-07T17:01:24.000000Z"
},
{
"id": 2,
"title": "Music Playlist",
"order": 1,
"is_public": false,
"project_id": 1,
"project": {
"id": 1,
"name": "Test Project",
"description": "This is a test project.",
"thumb_url": "https://images.pexels.com/photos/2832382",
"shared": true,
"starter_project": null,
"users": [
{
"id": 1,
"first_name": "John",
"last_name": "Doe",
"email": "john.doe@currikistudio.org",
"role": "owner"
}
],
"is_public": true,
"created_at": "2020-09-06T19:21:08.000000Z",
"updated_at": "2020-09-06T19:21:08.000000Z"
},
"activities": [],
"created_at": "2020-09-16T18:21:29.000000Z",
"updated_at": "2020-09-16T18:21:29.000000Z"
}
]
}
Received response:
Request failed with error:
Clone Playlist
Clone a playlist of a project.
Example request:
curl --request POST \
"http://localhost:8000/api/v1/projects/3024/playlists/186/clone" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/projects/3024/playlists/186/clone"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/projects/3024/playlists/186/clone',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "Playlist is being cloned|duplicated in background!"
}
Example response (500):
{
"errors": [
"Not a Public Playlist."
]
}
Received response:
Request failed with error:
Get Playlists
Get a list of the playlists of a project.
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/projects/3024/playlists" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/projects/3024/playlists"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/projects/3024/playlists',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"playlists": [
{
"id": 1,
"title": "Math Playlist",
"order": 0,
"is_public": true,
"gcr_playlist_visibility": true,
"project_id": 1,
"project": {
"id": 1,
"name": "Test Project",
"description": "This is a test project.",
"thumb_url": "https://images.pexels.com/photos/2832382",
"shared": true,
"starter_project": null,
"users": [
{
"id": 1,
"first_name": "John",
"last_name": "Doe",
"email": "john.doe@currikistudio.org",
"role": "owner"
}
],
"is_public": true,
"created_at": "2020-09-06T19:21:08.000000Z",
"updated_at": "2020-09-06T19:21:08.000000Z"
},
"activities": [
{
"id": 1,
"playlist_id": 1,
"title": "Audio Record",
"type": "h5p",
"content": "Audio Record content",
"shared": true,
"order": 0,
"thumb_url": "/storage/activities/3vVpHHh75MJHOV6a6iZdy13luBaiNn1SrniYpBbQ.png",
"subject_id": "Career & Technical Education",
"education_level_id": null,
"h5p_content": {
"id": 19430,
"user_id": 1,
"title": "record",
"library_id": 98,
"parameters": "{\"l10n\":{\"recordAnswer\":\"Record\",\"pause\":\"Pause\",\"continue\":\"Continue\",\"download\":\"Download\",\"done\":\"Done\",\"retry\":\"Retry\",\"microphoneNotSupported\":\"Microphone not supported. Make sure you are using a browser that allows microphone recording.\",\"microphoneInaccessible\":\"Microphone is not accessible. Make sure that the browser microphone is enabled.\",\"insecureNotAllowed\":\"Access to microphone is not allowed in your browser since this page is not served using HTTPS. Please contact the author, and ask him to make this available using HTTPS\",\"statusReadyToRecord\":\"Press a button below to record your answer.\",\"statusRecording\":\"Recording...\",\"statusPaused\":\"Recording paused. Press a button to continue recording.\",\"statusFinishedRecording\":\"You have successfully recorded your answer! Listen to the recording below.\",\"downloadRecording\":\"Download this recording or retry.\",\"retryDialogHeaderText\":\"Retry recording?\",\"retryDialogBodyText\":\"By pressing \\\"Retry\\\" you will lose your current recording.\",\"retryDialogConfirmText\":\"Retry\",\"retryDialogCancelText\":\"Cancel\",\"statusCantCreateTheAudioFile\":\"Can't create the audio file.\"}}",
"filtered": "{\"l10n\":{\"recordAnswer\":\"Record\",\"pause\":\"Pause\",\"continue\":\"Continue\",\"download\":\"Download\",\"done\":\"Done\",\"retry\":\"Retry\",\"microphoneNotSupported\":\"Microphone not supported. Make sure you are using a browser that allows microphone recording.\",\"microphoneInaccessible\":\"Microphone is not accessible. Make sure that the browser microphone is enabled.\",\"insecureNotAllowed\":\"Access to microphone is not allowed in your browser since this page is not served using HTTPS. Please contact the author, and ask him to make this available using HTTPS\",\"statusReadyToRecord\":\"Press a button below to record your answer.\",\"statusRecording\":\"Recording...\",\"statusPaused\":\"Recording paused. Press a button to continue recording.\",\"statusFinishedRecording\":\"You have successfully recorded your answer! Listen to the recording below.\",\"downloadRecording\":\"Download this recording or retry.\",\"retryDialogHeaderText\":\"Retry recording?\",\"retryDialogBodyText\":\"By pressing "Retry" you will lose your current recording.\",\"retryDialogConfirmText\":\"Retry\",\"retryDialogCancelText\":\"Cancel\",\"statusCantCreateTheAudioFile\":\"Can't create the audio file.\"}}",
"slug": "record",
"embed_type": "div",
"disable": 9,
"content_type": null,
"authors": null,
"source": null,
"year_from": null,
"year_to": null,
"license": "U",
"license_version": null,
"license_extras": null,
"author_comments": null,
"changes": null,
"default_language": null,
"created_at": "2020-09-27T07:14:57.000000Z",
"updated_at": "2020-09-27T07:14:57.000000Z"
},
"is_public": false,
"created_at": "2020-09-27T07:14:57.000000Z",
"updated_at": "2020-09-27T07:14:57.000000Z"
},
{
"id": 2,
"playlist_id": 1,
"title": "Language Arts",
"type": "h5p",
"content": "Language Arts content",
"shared": true,
"order": 1,
"thumb_url": "/storage/activities/w2LXV4VMPgccjJyZbs16wSzglX1s58K5NFfFp7ed.png",
"subject_id": "Language Arts",
"education_level_id": null,
"h5p_content": {
"id": 19431,
"user_id": 1,
"title": "fghfhg",
"library_id": 98,
"parameters": "{\"l10n\":{\"recordAnswer\":\"Record\",\"pause\":\"Pause\",\"continue\":\"Continue\",\"download\":\"Download\",\"done\":\"Done\",\"retry\":\"Retry\",\"microphoneNotSupported\":\"Microphone not supported. Make sure you are using a browser that allows microphone recording.\",\"microphoneInaccessible\":\"Microphone is not accessible. Make sure that the browser microphone is enabled.\",\"insecureNotAllowed\":\"Access to microphone is not allowed in your browser since this page is not served using HTTPS. Please contact the author, and ask him to make this available using HTTPS\",\"statusReadyToRecord\":\"Press a button below to record your answer.\",\"statusRecording\":\"Recording...\",\"statusPaused\":\"Recording paused. Press a button to continue recording.\",\"statusFinishedRecording\":\"You have successfully recorded your answer! Listen to the recording below.\",\"downloadRecording\":\"Download this recording or retry.\",\"retryDialogHeaderText\":\"Retry recording?\",\"retryDialogBodyText\":\"By pressing \\\"Retry\\\" you will lose your current recording.\",\"retryDialogConfirmText\":\"Retry\",\"retryDialogCancelText\":\"Cancel\",\"statusCantCreateTheAudioFile\":\"Can't create the audio file.\"}}",
"filtered": "{\"l10n\":{\"recordAnswer\":\"Record\",\"pause\":\"Pause\",\"continue\":\"Continue\",\"download\":\"Download\",\"done\":\"Done\",\"retry\":\"Retry\",\"microphoneNotSupported\":\"Microphone not supported. Make sure you are using a browser that allows microphone recording.\",\"microphoneInaccessible\":\"Microphone is not accessible. Make sure that the browser microphone is enabled.\",\"insecureNotAllowed\":\"Access to microphone is not allowed in your browser since this page is not served using HTTPS. Please contact the author, and ask him to make this available using HTTPS\",\"statusReadyToRecord\":\"Press a button below to record your answer.\",\"statusRecording\":\"Recording...\",\"statusPaused\":\"Recording paused. Press a button to continue recording.\",\"statusFinishedRecording\":\"You have successfully recorded your answer! Listen to the recording below.\",\"downloadRecording\":\"Download this recording or retry.\",\"retryDialogHeaderText\":\"Retry recording?\",\"retryDialogBodyText\":\"By pressing "Retry" you will lose your current recording.\",\"retryDialogConfirmText\":\"Retry\",\"retryDialogCancelText\":\"Cancel\",\"statusCantCreateTheAudioFile\":\"Can't create the audio file.\"}}",
"slug": "fghfhg",
"embed_type": "div",
"disable": 9,
"content_type": null,
"authors": null,
"source": null,
"year_from": null,
"year_to": null,
"license": "U",
"license_version": null,
"license_extras": null,
"author_comments": null,
"changes": null,
"default_language": null,
"created_at": "2020-09-07T07:15:31.000000Z",
"updated_at": "2020-09-07T07:15:31.000000Z"
},
"is_public": false,
"created_at": "2020-09-07T07:15:31.000000Z",
"updated_at": "2020-09-07T07:15:31.000000Z"
}
],
"created_at": "2020-09-07T17:01:24.000000Z",
"updated_at": "2020-09-07T17:01:24.000000Z"
},
{
"id": 2,
"title": "Music Playlist",
"order": 1,
"is_public": false,
"project_id": 1,
"project": {
"id": 1,
"name": "Test Project",
"description": "This is a test project.",
"thumb_url": "https://images.pexels.com/photos/2832382",
"shared": true,
"starter_project": null,
"users": [
{
"id": 1,
"first_name": "John",
"last_name": "Doe",
"email": "john.doe@currikistudio.org",
"role": "owner"
}
],
"is_public": true,
"created_at": "2020-09-06T19:21:08.000000Z",
"updated_at": "2020-09-06T19:21:08.000000Z"
},
"activities": [],
"created_at": "2020-09-16T18:21:29.000000Z",
"updated_at": "2020-09-16T18:21:29.000000Z"
}
]
}
Received response:
Request failed with error:
Create Playlist
Create a new playlist of a project.
Example request:
curl --request POST \
"http://localhost:8000/api/v1/projects/3024/playlists" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"title\": \"Math Playlist\",
\"order\": 0
}"
const url = new URL(
"http://localhost:8000/api/v1/projects/3024/playlists"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"title": "Math Playlist",
"order": 0
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/projects/3024/playlists',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'title' => 'Math Playlist',
'order' => 0,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (500):
{
"errors": [
"Could not create playlist. Please try again later."
]
}
Example response (201):
{
"playlist": {
"id": 1,
"title": "Math Playlist",
"order": 0,
"is_public": true,
"project_id": 1,
"gcr_playlist_visibility": true,
"project": {
"id": 1,
"name": "Test Project",
"description": "This is a test project.",
"thumb_url": "https://images.pexels.com/photos/2832382",
"shared": true,
"starter_project": null,
"users": [
{
"id": 1,
"first_name": "John",
"last_name": "Doe",
"email": "john.doe@currikistudio.org",
"role": "owner"
}
],
"is_public": true,
"created_at": "2020-09-06T19:21:08.000000Z",
"updated_at": "2020-09-06T19:21:08.000000Z"
},
"activities": [],
"created_at": "2020-09-07T17:01:24.000000Z",
"updated_at": "2020-09-07T17:01:24.000000Z"
}
}
Received response:
Request failed with error:
Get Playlist
Get the specified playlist of a project.
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/projects/3024/playlists/186" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/projects/3024/playlists/186"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/projects/3024/playlists/186',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (400):
{
"errors": [
"Invalid project or playlist id."
]
}
Example response (200):
{
"playlist": {
"id": 1,
"title": "Math Playlist",
"order": 0,
"is_public": true,
"project_id": 1,
"gcr_playlist_visibility": true,
"project": {
"id": 1,
"name": "Test Project",
"description": "This is a test project.",
"thumb_url": "https://images.pexels.com/photos/2832382",
"shared": true,
"starter_project": null,
"users": [
{
"id": 1,
"first_name": "John",
"last_name": "Doe",
"email": "john.doe@currikistudio.org",
"role": "owner"
}
],
"is_public": true,
"created_at": "2020-09-06T19:21:08.000000Z",
"updated_at": "2020-09-06T19:21:08.000000Z"
},
"activities": [],
"created_at": "2020-09-07T17:01:24.000000Z",
"updated_at": "2020-09-07T17:01:24.000000Z"
}
}
Received response:
Request failed with error:
Update Playlist
Update the specified playlist of a project.
Example request:
curl --request PUT \
"http://localhost:8000/api/v1/projects/3024/playlists/186" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"title\": \"Math Playlist\",
\"order\": 0
}"
const url = new URL(
"http://localhost:8000/api/v1/projects/3024/playlists/186"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"title": "Math Playlist",
"order": 0
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->put(
'http://localhost:8000/api/v1/projects/3024/playlists/186',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'title' => 'Math Playlist',
'order' => 0,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (400):
{
"errors": [
"Invalid project or playlist id."
]
}
Example response (500):
{
"errors": [
"Failed to update playlist."
]
}
Example response (200):
{
"playlist": {
"id": 1,
"title": "Math Playlist",
"order": 0,
"is_public": true,
"project_id": 1,
"gcr_playlist_visibility": true,
"project": {
"id": 1,
"name": "Test Project",
"description": "This is a test project.",
"thumb_url": "https://images.pexels.com/photos/2832382",
"shared": true,
"starter_project": null,
"users": [
{
"id": 1,
"first_name": "John",
"last_name": "Doe",
"email": "john.doe@currikistudio.org",
"role": "owner"
}
],
"is_public": true,
"created_at": "2020-09-06T19:21:08.000000Z",
"updated_at": "2020-09-06T19:21:08.000000Z"
},
"activities": [],
"created_at": "2020-09-07T17:01:24.000000Z",
"updated_at": "2020-09-07T17:01:24.000000Z"
}
}
Received response:
Request failed with error:
Remove Playlist
Remove the specified playlist of a project.
Example request:
curl --request DELETE \
"http://localhost:8000/api/v1/projects/3024/playlists/186" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/projects/3024/playlists/186"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->delete(
'http://localhost:8000/api/v1/projects/3024/playlists/186',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "Playlist has been deleted successfully."
}
Example response (400):
{
"errors": [
"Invalid project or playlist id."
]
}
Example response (500):
{
"errors": [
"Failed to delete playlist."
]
}
Received response:
Request failed with error:
Get Playlist Search Preview
Get the specified playlist search preview.
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/suborganization/1/playlists/186/search-preview" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/suborganization/1/playlists/186/search-preview"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/suborganization/1/playlists/186/search-preview',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (404):
{
"message": [
"Playlist is not available."
]
}
Example response (200):
{
"playlist": {
"id": 1,
"title": "Math Playlist",
"order": 0,
"is_public": true,
"project_id": 1,
"gcr_playlist_visibility": true,
"project": {
"id": 1,
"name": "Test Project",
"description": "This is a test project.",
"thumb_url": "https://images.pexels.com/photos/2832382",
"shared": true,
"starter_project": null,
"users": [
{
"id": 1,
"first_name": "John",
"last_name": "Doe",
"email": "john.doe@currikistudio.org",
"role": "owner"
}
],
"is_public": true,
"created_at": "2020-09-06T19:21:08.000000Z",
"updated_at": "2020-09-06T19:21:08.000000Z"
},
"activities": [],
"created_at": "2020-09-07T17:01:24.000000Z",
"updated_at": "2020-09-07T17:01:24.000000Z"
}
}
Received response:
Request failed with error:
Share playlist
Share the specified playlist of a user.
Remove Share playlist
Remove Share the specified playlist of a user.
Get Lti Playlist
Get the lti playlist of a project.
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/playlists/186/lti" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/playlists/186/lti"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/playlists/186/lti',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"playlist": {
"id": 1,
"title": "Math Playlist",
"order": 0,
"is_public": true,
"project_id": 1,
"gcr_playlist_visibility": true,
"project": {
"id": 1,
"name": "Test Project",
"description": "This is a test project.",
"thumb_url": "https://images.pexels.com/photos/2832382",
"shared": true,
"starter_project": null,
"users": [
{
"id": 1,
"first_name": "John",
"last_name": "Doe",
"email": "john.doe@currikistudio.org",
"role": "owner"
}
],
"is_public": true,
"created_at": "2020-09-06T19:21:08.000000Z",
"updated_at": "2020-09-06T19:21:08.000000Z"
},
"activities": [],
"created_at": "2020-09-07T17:01:24.000000Z",
"updated_at": "2020-09-07T17:01:24.000000Z"
}
}
Received response:
Request failed with error:
5. Activity
APIs for activity management
Get Activity Search Preview
Get the specified activity search preview.
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/suborganization/1/activities/761/search-preview" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/suborganization/1/activities/761/search-preview"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/suborganization/1/activities/761/search-preview',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"h5p": {
"id": 59,
"title": "Science of Golf: Why Balls Have Dimples",
"params": "{\"interactiveVideo\":{\"video\":{\"startScreenOptions\":{\"title\":\"Interactive Video\",\"hideStartTitle\":false},\"textTracks\":{\"videoTrack\":[{\"label\":\"Subtitles\",\"kind\":\"subtitles\",\"srcLang\":\"en\"}]},\"files\":[{\"path\":\"https://youtu.be/fcjaxC-e8oY\",\"mime\":\"video/YouTube\",\"copyright\":{\"license\":\"U\"},\"aspectRatio\":\"16:9\"}]},\"assets\":{\"interactions\":[{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":58.33,\"to\":68.33},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"133bca3d-cfe9-442d-a887-8bf1e2ce682a\",\"question\":\"<p>Why do golf balls have dimples?</p>\\n\",\"answers\":[\"<p>They reduce wind resistance.</p>\\n\",\"<p>They make the ball more visually interesting.</p>\\n\",\"<p>They grip the putting green better than a smooth ball.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"ac029b43-7225-49ed-a2d7-8656037748e0\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Why do golf balls have dimples?\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Why do golf balls have dimples?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Why do golf balls have dimples?</p>\\n\"},{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":132.969,\"to\":142.969},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"308503f3-8d41-4f4f-b016-587bcce3dfac\",\"question\":\"<p>A smooth ball will have a detached airflow, which causes what?</p>\\n\",\"answers\":[\"<p>A low pressure zone, which is what causes drag.</p>\\n\",\"<p>The ball has no spin.</p>\\n\",\"<p>The ball travels higher, but for a shorter distance.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"f70c849d-9542-4f30-9116-8b60b7da708d\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Smooth Ball?\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Smooth Ball?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Smooth Ball</p>\\n\"}],\"bookmarks\":[],\"endscreens\":[{\"time\":295,\"label\":\"4:55 Submit screen\"}]},\"summary\":{\"task\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"8e2cf84f-4557-4f79-a03e-526838498a7d\",\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"8d5527ef-3601-4ad9-9e63-2782c9775173\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Untitled Summary\"}},\"displayAt\":3}},\"override\":{\"autoplay\":false,\"loop\":false,\"showBookmarksmenuOnLoad\":false,\"showRewind10\":false,\"preventSkipping\":false,\"deactivateSound\":false},\"l10n\":{\"interaction\":\"Interaction\",\"play\":\"Play\",\"pause\":\"Pause\",\"mute\":\"Mute\",\"unmute\":\"Unmute\",\"quality\":\"Video Quality\",\"captions\":\"Captions\",\"close\":\"Close\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit Fullscreen\",\"summary\":\"Open summary dialog\",\"bookmarks\":\"Bookmarks\",\"endscreen\":\"Submit screen\",\"defaultAdaptivitySeekLabel\":\"Continue\",\"continueWithVideo\":\"Continue with video\",\"playbackRate\":\"Playback Rate\",\"rewind10\":\"Rewind 10 Seconds\",\"navDisabled\":\"Navigation is disabled\",\"sndDisabled\":\"Sound is disabled\",\"requiresCompletionWarning\":\"You need to answer all the questions correctly before continuing.\",\"back\":\"Back\",\"hours\":\"Hours\",\"minutes\":\"Minutes\",\"seconds\":\"Seconds\",\"currentTime\":\"Current time:\",\"totalTime\":\"Total time:\",\"singleInteractionAnnouncement\":\"Interaction appeared:\",\"multipleInteractionsAnnouncement\":\"Multiple interactions appeared.\",\"videoPausedAnnouncement\":\"Video is paused\",\"content\":\"Content\",\"answered\":\"@answered answered\",\"endcardTitle\":\"@answered Question(s) answered\",\"endcardInformation\":\"You have answered @answered questions, click below to submit your answers.\",\"endcardInformationNoAnswers\":\"You have not answered any questions.\",\"endcardInformationMustHaveAnswer\":\"You have to answer at least one question before you can submit your answers.\",\"endcardSubmitButton\":\"Submit Answers\",\"endcardSubmitMessage\":\"Your answers have been submitted!\",\"endcardTableRowAnswered\":\"Answered questions\",\"endcardTableRowScore\":\"Score\",\"endcardAnsweredScore\":\"answered\",\"endCardTableRowSummaryWithScore\":\"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\"endCardTableRowSummaryWithoutScore\":\"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\"}}",
"filtered": "{\"interactiveVideo\":{\"video\":{\"startScreenOptions\":{\"title\":\"Interactive Video\",\"hideStartTitle\":false},\"textTracks\":{\"videoTrack\":[{\"label\":\"Subtitles\",\"kind\":\"subtitles\",\"srcLang\":\"en\"}]},\"files\":[{\"path\":\"https://youtu.be/fcjaxC-e8oY\",\"mime\":\"video/YouTube\",\"copyright\":{\"license\":\"U\"}}]},\"assets\":{\"interactions\":[{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":58.33,\"to\":68.33},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"133bca3d-cfe9-442d-a887-8bf1e2ce682a\",\"question\":\"<p>Why do golf balls have dimples?</p>\\n\",\"answers\":[\"<p>They reduce wind resistance.</p>\\n\",\"<p>They make the ball more visually interesting.</p>\\n\",\"<p>They grip the putting green better than a smooth ball.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"ac029b43-7225-49ed-a2d7-8656037748e0\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Why do golf balls have dimples?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Why do golf balls have dimples?</p>\\n\"},{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":132.969,\"to\":142.969},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"308503f3-8d41-4f4f-b016-587bcce3dfac\",\"question\":\"<p>A smooth ball will have a detached airflow, which causes what?</p>\\n\",\"answers\":[\"<p>A low pressure zone, which is what causes drag.</p>\\n\",\"<p>The ball has no spin.</p>\\n\",\"<p>The ball travels higher, but for a shorter distance.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"f70c849d-9542-4f30-9116-8b60b7da708d\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Smooth Ball?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Smooth Ball</p>\\n\"}],\"endscreens\":[{\"time\":295,\"label\":\"4:55 Submit screen\"}]},\"summary\":{\"task\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"8e2cf84f-4557-4f79-a03e-526838498a7d\",\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"8d5527ef-3601-4ad9-9e63-2782c9775173\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\"}},\"displayAt\":3}},\"override\":{\"autoplay\":false,\"loop\":false,\"showBookmarksmenuOnLoad\":false,\"showRewind10\":false,\"preventSkipping\":false,\"deactivateSound\":false},\"l10n\":{\"interaction\":\"Interaction\",\"play\":\"Play\",\"pause\":\"Pause\",\"mute\":\"Mute\",\"unmute\":\"Unmute\",\"quality\":\"Video Quality\",\"captions\":\"Captions\",\"close\":\"Close\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit Fullscreen\",\"summary\":\"Open summary dialog\",\"bookmarks\":\"Bookmarks\",\"endscreen\":\"Submit screen\",\"defaultAdaptivitySeekLabel\":\"Continue\",\"continueWithVideo\":\"Continue with video\",\"playbackRate\":\"Playback Rate\",\"rewind10\":\"Rewind 10 Seconds\",\"navDisabled\":\"Navigation is disabled\",\"sndDisabled\":\"Sound is disabled\",\"requiresCompletionWarning\":\"You need to answer all the questions correctly before continuing.\",\"back\":\"Back\",\"hours\":\"Hours\",\"minutes\":\"Minutes\",\"seconds\":\"Seconds\",\"currentTime\":\"Current time:\",\"totalTime\":\"Total time:\",\"singleInteractionAnnouncement\":\"Interaction appeared:\",\"multipleInteractionsAnnouncement\":\"Multiple interactions appeared.\",\"videoPausedAnnouncement\":\"Video is paused\",\"content\":\"Content\",\"answered\":\"@answered answered\",\"endcardTitle\":\"@answered Question(s) answered\",\"endcardInformation\":\"You have answered @answered questions, click below to submit your answers.\",\"endcardInformationNoAnswers\":\"You have not answered any questions.\",\"endcardInformationMustHaveAnswer\":\"You have to answer at least one question before you can submit your answers.\",\"endcardSubmitButton\":\"Submit Answers\",\"endcardSubmitMessage\":\"Your answers have been submitted!\",\"endcardTableRowAnswered\":\"Answered questions\",\"endcardTableRowScore\":\"Score\",\"endcardAnsweredScore\":\"answered\",\"endCardTableRowSummaryWithScore\":\"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\"endCardTableRowSummaryWithoutScore\":\"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\"}}",
"slug": "science-of-golf-why-balls-have-dimples",
"user_id": 1,
"embedType": "div",
"disable": 9,
"libraryMajorVersion": 1,
"libraryMinorVersion": 21,
"authors": null,
"source": null,
"yearFrom": null,
"yearTo": null,
"licenseVersion": null,
"licenseExtras": null,
"authorComments": null,
"changes": null,
"defaultLanguage": null,
"metadata": {
"title": "Science of Golf: Why Balls Have Dimples",
"license": "U"
},
"library": {
"id": 40,
"name": "H5P.InteractiveVideo",
"majorVersion": 1,
"minorVersion": 21,
"embedTypes": "iframe",
"fullscreen": 1
},
"language": "en",
"tags": ""
},
"activity": {
"id": 1,
"playlist_id": 1,
"title": "Science of Golf: Why Balls Have Dimples",
"type": "h5p",
"content": "",
"shared": false,
"order": 2,
"thumb_url": null,
"subject_id": null,
"education_level_id": null,
"h5p_content": {
"id": 59,
"created_at": "2020-04-30T20:24:58.000000Z",
"updated_at": "2020-04-30T20:24:58.000000Z",
"user_id": 1,
"title": "Science of Golf: Why Balls Have Dimples",
"library_id": 40,
"parameters": "{\"interactiveVideo\":{\"video\":{\"startScreenOptions\":{\"title\":\"Interactive Video\",\"hideStartTitle\":false},\"textTracks\":{\"videoTrack\":[{\"label\":\"Subtitles\",\"kind\":\"subtitles\",\"srcLang\":\"en\"}]},\"files\":[{\"path\":\"https://youtu.be/fcjaxC-e8oY\",\"mime\":\"video/YouTube\",\"copyright\":{\"license\":\"U\"},\"aspectRatio\":\"16:9\"}]},\"assets\":{\"interactions\":[{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":58.33,\"to\":68.33},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"133bca3d-cfe9-442d-a887-8bf1e2ce682a\",\"question\":\"<p>Why do golf balls have dimples?</p>\\n\",\"answers\":[\"<p>They reduce wind resistance.</p>\\n\",\"<p>They make the ball more visually interesting.</p>\\n\",\"<p>They grip the putting green better than a smooth ball.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"ac029b43-7225-49ed-a2d7-8656037748e0\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Why do golf balls have dimples?\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Why do golf balls have dimples?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Why do golf balls have dimples?</p>\\n\"},{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":132.969,\"to\":142.969},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"308503f3-8d41-4f4f-b016-587bcce3dfac\",\"question\":\"<p>A smooth ball will have a detached airflow, which causes what?</p>\\n\",\"answers\":[\"<p>A low pressure zone, which is what causes drag.</p>\\n\",\"<p>The ball has no spin.</p>\\n\",\"<p>The ball travels higher, but for a shorter distance.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"f70c849d-9542-4f30-9116-8b60b7da708d\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Smooth Ball?\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Smooth Ball?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Smooth Ball</p>\\n\"}],\"bookmarks\":[],\"endscreens\":[{\"time\":295,\"label\":\"4:55 Submit screen\"}]},\"summary\":{\"task\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"8e2cf84f-4557-4f79-a03e-526838498a7d\",\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"8d5527ef-3601-4ad9-9e63-2782c9775173\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Untitled Summary\"}},\"displayAt\":3}},\"override\":{\"autoplay\":false,\"loop\":false,\"showBookmarksmenuOnLoad\":false,\"showRewind10\":false,\"preventSkipping\":false,\"deactivateSound\":false},\"l10n\":{\"interaction\":\"Interaction\",\"play\":\"Play\",\"pause\":\"Pause\",\"mute\":\"Mute\",\"unmute\":\"Unmute\",\"quality\":\"Video Quality\",\"captions\":\"Captions\",\"close\":\"Close\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit Fullscreen\",\"summary\":\"Open summary dialog\",\"bookmarks\":\"Bookmarks\",\"endscreen\":\"Submit screen\",\"defaultAdaptivitySeekLabel\":\"Continue\",\"continueWithVideo\":\"Continue with video\",\"playbackRate\":\"Playback Rate\",\"rewind10\":\"Rewind 10 Seconds\",\"navDisabled\":\"Navigation is disabled\",\"sndDisabled\":\"Sound is disabled\",\"requiresCompletionWarning\":\"You need to answer all the questions correctly before continuing.\",\"back\":\"Back\",\"hours\":\"Hours\",\"minutes\":\"Minutes\",\"seconds\":\"Seconds\",\"currentTime\":\"Current time:\",\"totalTime\":\"Total time:\",\"singleInteractionAnnouncement\":\"Interaction appeared:\",\"multipleInteractionsAnnouncement\":\"Multiple interactions appeared.\",\"videoPausedAnnouncement\":\"Video is paused\",\"content\":\"Content\",\"answered\":\"@answered answered\",\"endcardTitle\":\"@answered Question(s) answered\",\"endcardInformation\":\"You have answered @answered questions, click below to submit your answers.\",\"endcardInformationNoAnswers\":\"You have not answered any questions.\",\"endcardInformationMustHaveAnswer\":\"You have to answer at least one question before you can submit your answers.\",\"endcardSubmitButton\":\"Submit Answers\",\"endcardSubmitMessage\":\"Your answers have been submitted!\",\"endcardTableRowAnswered\":\"Answered questions\",\"endcardTableRowScore\":\"Score\",\"endcardAnsweredScore\":\"answered\",\"endCardTableRowSummaryWithScore\":\"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\"endCardTableRowSummaryWithoutScore\":\"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\"}}",
"filtered": "{\"interactiveVideo\":{\"video\":{\"startScreenOptions\":{\"title\":\"Interactive Video\",\"hideStartTitle\":false},\"textTracks\":{\"videoTrack\":[{\"label\":\"Subtitles\",\"kind\":\"subtitles\",\"srcLang\":\"en\"}]},\"files\":[{\"path\":\"https://youtu.be/fcjaxC-e8oY\",\"mime\":\"video/YouTube\",\"copyright\":{\"license\":\"U\"}}]},\"assets\":{\"interactions\":[{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":58.33,\"to\":68.33},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"133bca3d-cfe9-442d-a887-8bf1e2ce682a\",\"question\":\"<p>Why do golf balls have dimples?</p>\\n\",\"answers\":[\"<p>They reduce wind resistance.</p>\\n\",\"<p>They make the ball more visually interesting.</p>\\n\",\"<p>They grip the putting green better than a smooth ball.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"ac029b43-7225-49ed-a2d7-8656037748e0\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Why do golf balls have dimples?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Why do golf balls have dimples?</p>\\n\"},{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":132.969,\"to\":142.969},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"308503f3-8d41-4f4f-b016-587bcce3dfac\",\"question\":\"<p>A smooth ball will have a detached airflow, which causes what?</p>\\n\",\"answers\":[\"<p>A low pressure zone, which is what causes drag.</p>\\n\",\"<p>The ball has no spin.</p>\\n\",\"<p>The ball travels higher, but for a shorter distance.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"f70c849d-9542-4f30-9116-8b60b7da708d\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Smooth Ball?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Smooth Ball</p>\\n\"}],\"endscreens\":[{\"time\":295,\"label\":\"4:55 Submit screen\"}]},\"summary\":{\"task\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"8e2cf84f-4557-4f79-a03e-526838498a7d\",\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"8d5527ef-3601-4ad9-9e63-2782c9775173\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\"}},\"displayAt\":3}},\"override\":{\"autoplay\":false,\"loop\":false,\"showBookmarksmenuOnLoad\":false,\"showRewind10\":false,\"preventSkipping\":false,\"deactivateSound\":false},\"l10n\":{\"interaction\":\"Interaction\",\"play\":\"Play\",\"pause\":\"Pause\",\"mute\":\"Mute\",\"unmute\":\"Unmute\",\"quality\":\"Video Quality\",\"captions\":\"Captions\",\"close\":\"Close\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit Fullscreen\",\"summary\":\"Open summary dialog\",\"bookmarks\":\"Bookmarks\",\"endscreen\":\"Submit screen\",\"defaultAdaptivitySeekLabel\":\"Continue\",\"continueWithVideo\":\"Continue with video\",\"playbackRate\":\"Playback Rate\",\"rewind10\":\"Rewind 10 Seconds\",\"navDisabled\":\"Navigation is disabled\",\"sndDisabled\":\"Sound is disabled\",\"requiresCompletionWarning\":\"You need to answer all the questions correctly before continuing.\",\"back\":\"Back\",\"hours\":\"Hours\",\"minutes\":\"Minutes\",\"seconds\":\"Seconds\",\"currentTime\":\"Current time:\",\"totalTime\":\"Total time:\",\"singleInteractionAnnouncement\":\"Interaction appeared:\",\"multipleInteractionsAnnouncement\":\"Multiple interactions appeared.\",\"videoPausedAnnouncement\":\"Video is paused\",\"content\":\"Content\",\"answered\":\"@answered answered\",\"endcardTitle\":\"@answered Question(s) answered\",\"endcardInformation\":\"You have answered @answered questions, click below to submit your answers.\",\"endcardInformationNoAnswers\":\"You have not answered any questions.\",\"endcardInformationMustHaveAnswer\":\"You have to answer at least one question before you can submit your answers.\",\"endcardSubmitButton\":\"Submit Answers\",\"endcardSubmitMessage\":\"Your answers have been submitted!\",\"endcardTableRowAnswered\":\"Answered questions\",\"endcardTableRowScore\":\"Score\",\"endcardAnsweredScore\":\"answered\",\"endCardTableRowSummaryWithScore\":\"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\"endCardTableRowSummaryWithoutScore\":\"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\"}}",
"slug": "science-of-golf-why-balls-have-dimples",
"embed_type": "div",
"disable": 9,
"content_type": null,
"authors": null,
"source": null,
"year_from": null,
"year_to": null,
"license": "U",
"license_version": null,
"license_extras": null,
"author_comments": null,
"changes": null,
"default_language": null
},
"is_public": false,
"created_at": null,
"updated_at": null
},
"playlist": {
"id": 1,
"title": "The Engineering & Design Behind Golf Balls",
"order": 0,
"is_public": true,
"project_id": 1,
"project": {
"id": 1,
"name": "The Science of Golf",
"description": "Uncover the science, technology, engineering, and mathematics behind the game of golf.",
"thumb_url": "/storage/projects/nN5y8v8zh2ghxrKuHCv5wvJOREFw0Nr27s2DPxWq.png",
"shared": false,
"starter_project": false,
"users": [
{
"id": 1,
"email": "john.doe@currikistudio.org",
"first_name": "John",
"last_name": "Doe",
"role": "owner"
}
],
"is_public": true,
"created_at": "2020-04-30T20:03:12.000000Z",
"updated_at": "2020-07-11T12:51:07.000000Z"
},
"activities": [
{
"id": 4,
"playlist_id": 1,
"title": "Labeling Golf Ball - Principles of Physics",
"type": "h5p",
"content": "",
"shared": false,
"order": 0,
"thumb_url": null,
"subject_id": null,
"education_level_id": null,
"h5p_content": {
"id": 65,
"created_at": "2020-04-30T23:40:49.000000Z",
"updated_at": "2020-04-30T23:40:49.000000Z",
"user_id": 1,
"title": "Labeling Golf Ball - Principles of Physics",
"library_id": 19,
"parameters": "{\"scoreShow\":\"Check\",\"tryAgain\":\"Retry\",\"scoreExplanation\":\"Correct answers give +1 point. Incorrect answers give -1 point. The lowest possible score is 0.\",\"question\":{\"settings\":{\"size\":{\"width\":620,\"height\":310},\"background\":{\"path\":\"images/background-5eab614083be2.png#tmp\",\"mime\":\"image/png\",\"copyright\":{\"license\":\"U\"},\"width\":620,\"height\":310}},\"task\":{\"elements\":[{\"x\":0,\"y\":47.96909692035003,\"width\":7.812090416666667,\"height\":1.3537570833333332,\"dropZones\":[\"0\",\"1\",\"2\"],\"type\":{\"library\":\"H5P.AdvancedText 1.1\",\"params\":{\"text\":\"<p>Lift</p>\\n\"},\"subContentId\":\"be1d9b11-91ff-4e59-a7c6-9966e1bf8cb2\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Lift\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Lift\"}},\"backgroundOpacity\":100,\"multiple\":false},{\"x\":-4.63163666049382e-8,\"y\":58.810763796296285,\"width\":7.812090416666667,\"height\":1.3537570833333332,\"dropZones\":[\"0\",\"1\",\"2\"],\"type\":{\"library\":\"H5P.AdvancedText 1.1\",\"params\":{\"text\":\"<p>Drag</p>\\n\"},\"subContentId\":\"05a00202-b5dd-44a9-acf1-0cce77278b33\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Drag\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Drag\"}},\"backgroundOpacity\":100,\"multiple\":false},{\"x\":-4.63163666049382e-8,\"y\":36.89236101851851,\"width\":7.812090416666667,\"height\":1.281997824074074,\"dropZones\":[\"0\",\"1\",\"2\"],\"type\":{\"library\":\"H5P.AdvancedText 1.1\",\"params\":{\"text\":\"<p>Spin</p>\\n\"},\"subContentId\":\"140a5423-873b-46d4-8f4f-9b236cefce20\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Spin\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Spin\"}},\"backgroundOpacity\":100,\"multiple\":false}],\"dropZones\":[{\"x\":72.35516653328209,\"y\":14.75972212933847,\"width\":8.61111111111111,\"height\":2.511574074074074,\"correctElements\":[\"0\"],\"showLabel\":false,\"backgroundOpacity\":50,\"tipsAndFeedback\":{\"tip\":\"\"},\"single\":true,\"autoAlign\":true,\"type\":{\"library\":\"H5P.DragQuestionDropzone 0.1\"},\"label\":\"<div>Lift</div>\\n\"},{\"x\":72.35484909201396,\"y\":36.89236101851851,\"width\":8.61111111111111,\"height\":2.511574074074074,\"correctElements\":[\"1\"],\"showLabel\":false,\"backgroundOpacity\":50,\"tipsAndFeedback\":{\"tip\":\"\"},\"single\":true,\"autoAlign\":true,\"type\":{\"library\":\"H5P.DragQuestionDropzone 0.1\"},\"label\":\"<div>Drag</div>\\n\"},{\"x\":72.35516653328209,\"y\":51.65902745268465,\"width\":8.61111111111111,\"height\":2.511574074074074,\"correctElements\":[\"2\"],\"showLabel\":false,\"backgroundOpacity\":50,\"tipsAndFeedback\":{\"tip\":\"\"},\"single\":true,\"autoAlign\":true,\"type\":{\"library\":\"H5P.DragQuestionDropzone 0.1\"},\"label\":\"<div>Spin</div>\\n\"}]}},\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"enableRetry\":true,\"enableCheckButton\":true,\"showSolutionsRequiresInput\":true,\"singlePoint\":false,\"applyPenalties\":true,\"enableScoreExplanation\":true,\"dropZoneHighlighting\":\"dragging\",\"autoAlignSpacing\":2,\"enableFullScreen\":false,\"showScorePoints\":true,\"showTitle\":true},\"grabbablePrefix\":\"Grabbable {num} of {total}.\",\"grabbableSuffix\":\"Placed in dropzone {num}.\",\"dropzonePrefix\":\"Dropzone {num} of {total}.\",\"noDropzone\":\"No dropzone.\",\"tipLabel\":\"Show tip.\",\"tipAvailable\":\"Tip available\",\"correctAnswer\":\"Correct answer\",\"wrongAnswer\":\"Wrong answer\",\"feedbackHeader\":\"Feedback\",\"scoreBarLabel\":\"You got :num out of :total points\",\"scoreExplanationButtonLabel\":\"Show score explanation\",\"localize\":{\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit fullscreen\"}}",
"filtered": "{\"scoreShow\":\"Check\",\"tryAgain\":\"Retry\",\"scoreExplanation\":\"Correct answers give +1 point. Incorrect answers give -1 point. The lowest possible score is 0.\",\"question\":{\"settings\":{\"size\":{\"width\":620,\"height\":310},\"background\":{\"path\":\"images/background-5eab614083be2.png\",\"mime\":\"image/png\",\"copyright\":{\"license\":\"U\"},\"width\":620,\"height\":310}},\"task\":{\"elements\":[{\"x\":0,\"y\":47.96909692035003,\"width\":7.812090416666667,\"height\":1.3537570833333332,\"dropZones\":[\"0\",\"1\",\"2\"],\"type\":{\"library\":\"H5P.AdvancedText 1.1\",\"params\":{\"text\":\"<p>Lift</p>\\n\"},\"subContentId\":\"be1d9b11-91ff-4e59-a7c6-9966e1bf8cb2\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Lift\"}},\"backgroundOpacity\":100,\"multiple\":false},{\"x\":-4.63163666049382e-8,\"y\":58.810763796296285,\"width\":7.812090416666667,\"height\":1.3537570833333332,\"dropZones\":[\"0\",\"1\",\"2\"],\"type\":{\"library\":\"H5P.AdvancedText 1.1\",\"params\":{\"text\":\"<p>Drag</p>\\n\"},\"subContentId\":\"05a00202-b5dd-44a9-acf1-0cce77278b33\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Drag\"}},\"backgroundOpacity\":100,\"multiple\":false},{\"x\":-4.63163666049382e-8,\"y\":36.89236101851851,\"width\":7.812090416666667,\"height\":1.281997824074074,\"dropZones\":[\"0\",\"1\",\"2\"],\"type\":{\"library\":\"H5P.AdvancedText 1.1\",\"params\":{\"text\":\"<p>Spin</p>\\n\"},\"subContentId\":\"140a5423-873b-46d4-8f4f-9b236cefce20\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Spin\"}},\"backgroundOpacity\":100,\"multiple\":false}],\"dropZones\":[{\"x\":72.35516653328209,\"y\":14.75972212933847,\"width\":8.61111111111111,\"height\":2.511574074074074,\"correctElements\":[\"0\"],\"showLabel\":false,\"backgroundOpacity\":50,\"tipsAndFeedback\":{\"tip\":\"\"},\"single\":true,\"autoAlign\":true,\"label\":\"<div>Lift</div>\\n\"},{\"x\":72.35484909201396,\"y\":36.89236101851851,\"width\":8.61111111111111,\"height\":2.511574074074074,\"correctElements\":[\"1\"],\"showLabel\":false,\"backgroundOpacity\":50,\"tipsAndFeedback\":{\"tip\":\"\"},\"single\":true,\"autoAlign\":true,\"label\":\"<div>Drag</div>\\n\"},{\"x\":72.35516653328209,\"y\":51.65902745268465,\"width\":8.61111111111111,\"height\":2.511574074074074,\"correctElements\":[\"2\"],\"showLabel\":false,\"backgroundOpacity\":50,\"tipsAndFeedback\":{\"tip\":\"\"},\"single\":true,\"autoAlign\":true,\"label\":\"<div>Spin</div>\\n\"}]}},\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"enableRetry\":true,\"enableCheckButton\":true,\"showSolutionsRequiresInput\":true,\"singlePoint\":false,\"applyPenalties\":true,\"enableScoreExplanation\":true,\"dropZoneHighlighting\":\"dragging\",\"autoAlignSpacing\":2,\"enableFullScreen\":false,\"showScorePoints\":true,\"showTitle\":true},\"grabbablePrefix\":\"Grabbable {num} of {total}.\",\"grabbableSuffix\":\"Placed in dropzone {num}.\",\"dropzonePrefix\":\"Dropzone {num} of {total}.\",\"noDropzone\":\"No dropzone.\",\"tipLabel\":\"Show tip.\",\"tipAvailable\":\"Tip available\",\"correctAnswer\":\"Correct answer\",\"wrongAnswer\":\"Wrong answer\",\"feedbackHeader\":\"Feedback\",\"scoreBarLabel\":\"You got :num out of :total points\",\"scoreExplanationButtonLabel\":\"Show score explanation\",\"localize\":{\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit fullscreen\"}}",
"slug": "labeling-golf-ball-principles-of-physics",
"embed_type": "div",
"disable": 9,
"content_type": null,
"authors": null,
"source": null,
"year_from": null,
"year_to": null,
"license": "U",
"license_version": null,
"license_extras": null,
"author_comments": null,
"changes": null,
"default_language": null
},
"is_public": false,
"created_at": null,
"updated_at": null
},
{
"id": 17774,
"playlist_id": 1,
"title": "Latest",
"type": "h5p",
"content": "test",
"shared": false,
"order": null,
"thumb_url": "/storage/activities/DrV6rZ6ZDXFMT1k51gbOqw04rqguq6CMtiiD1nDH.png",
"subject_id": "Mathematics",
"education_level_id": null,
"h5p_content": {
"id": 19334,
"created_at": "2020-08-30T20:09:56.000000Z",
"updated_at": "2020-08-30T20:09:56.000000Z",
"user_id": 1,
"title": "Latest",
"library_id": 98,
"parameters": "{\"l10n\":{\"recordAnswer\":\"Record\",\"pause\":\"Pause\",\"continue\":\"Continue\",\"download\":\"Download\",\"done\":\"Done\",\"retry\":\"Retry\",\"microphoneNotSupported\":\"Microphone not supported. Make sure you are using a browser that allows microphone recording.\",\"microphoneInaccessible\":\"Microphone is not accessible. Make sure that the browser microphone is enabled.\",\"insecureNotAllowed\":\"Access to microphone is not allowed in your browser since this page is not served using HTTPS. Please contact the author, and ask him to make this available using HTTPS\",\"statusReadyToRecord\":\"Press a button below to record your answer.\",\"statusRecording\":\"Recording...\",\"statusPaused\":\"Recording paused. Press a button to continue recording.\",\"statusFinishedRecording\":\"You have successfully recorded your answer! Listen to the recording below.\",\"downloadRecording\":\"Download this recording or retry.\",\"retryDialogHeaderText\":\"Retry recording?\",\"retryDialogBodyText\":\"By pressing \\\"Retry\\\" you will lose your current recording.\",\"retryDialogConfirmText\":\"Retry\",\"retryDialogCancelText\":\"Cancel\",\"statusCantCreateTheAudioFile\":\"Can't create the audio file.\"}}",
"filtered": "",
"slug": "latest",
"embed_type": "div",
"disable": 9,
"content_type": null,
"authors": null,
"source": null,
"year_from": null,
"year_to": null,
"license": "U",
"license_version": null,
"license_extras": null,
"author_comments": null,
"changes": null,
"default_language": null
},
"is_public": false,
"created_at": "2020-08-30T20:22:47.000000Z",
"updated_at": "2020-08-30T20:22:47.000000Z"
},
{
"id": 17776,
"playlist_id": 1,
"title": "Latest",
"type": "h5p",
"content": "test",
"shared": false,
"order": null,
"thumb_url": "/storage/activities/DrV6rZ6ZDXFMT1k51gbOqw04rqguq6CMtiiD1nDH.png",
"subject_id": "Mathematics",
"education_level_id": null,
"h5p_content": {
"id": 19334,
"created_at": "2020-08-30T20:09:56.000000Z",
"updated_at": "2020-08-30T20:09:56.000000Z",
"user_id": 1,
"title": "Latest",
"library_id": 98,
"parameters": "{\"l10n\":{\"recordAnswer\":\"Record\",\"pause\":\"Pause\",\"continue\":\"Continue\",\"download\":\"Download\",\"done\":\"Done\",\"retry\":\"Retry\",\"microphoneNotSupported\":\"Microphone not supported. Make sure you are using a browser that allows microphone recording.\",\"microphoneInaccessible\":\"Microphone is not accessible. Make sure that the browser microphone is enabled.\",\"insecureNotAllowed\":\"Access to microphone is not allowed in your browser since this page is not served using HTTPS. Please contact the author, and ask him to make this available using HTTPS\",\"statusReadyToRecord\":\"Press a button below to record your answer.\",\"statusRecording\":\"Recording...\",\"statusPaused\":\"Recording paused. Press a button to continue recording.\",\"statusFinishedRecording\":\"You have successfully recorded your answer! Listen to the recording below.\",\"downloadRecording\":\"Download this recording or retry.\",\"retryDialogHeaderText\":\"Retry recording?\",\"retryDialogBodyText\":\"By pressing \\\"Retry\\\" you will lose your current recording.\",\"retryDialogConfirmText\":\"Retry\",\"retryDialogCancelText\":\"Cancel\",\"statusCantCreateTheAudioFile\":\"Can't create the audio file.\"}}",
"filtered": "",
"slug": "latest",
"embed_type": "div",
"disable": 9,
"content_type": null,
"authors": null,
"source": null,
"year_from": null,
"year_to": null,
"license": "U",
"license_version": null,
"license_extras": null,
"author_comments": null,
"changes": null,
"default_language": null
},
"is_public": false,
"created_at": "2020-08-30T20:24:29.000000Z",
"updated_at": "2020-08-30T20:24:29.000000Z"
},
{
"id": 3,
"playlist_id": 1,
"title": "Physics Vocabulary Study Guide",
"type": "h5p",
"content": "",
"shared": false,
"order": 1,
"thumb_url": null,
"subject_id": null,
"education_level_id": null,
"h5p_content": {
"id": 61,
"created_at": "2020-04-30T20:35:30.000000Z",
"updated_at": "2020-04-30T20:35:30.000000Z",
"user_id": 1,
"title": "Physics Vocabulary Study Guide",
"library_id": 63,
"parameters": "{\"panels\":[{\"content\":{\"params\":{\"text\":\"<p style=\\\"margin-bottom:10px\\\"><span style=\\\"font-size:11pt\\\"><span style=\\\"line-height:107%\\\"><span style=\\\"font-family:Calibri,sans-serif\\\">Acceleration is the measurement of the change </span></span></span><span style=\\\"font-size:11.0pt\\\"><span style=\\\"line-height:107%\\\"><span style=\\\"font-family:"Calibri",sans-serif\\\">in an object\\u2019s velocity. </span></span></span></p>\\n\"},\"library\":\"H5P.AdvancedText 1.1\",\"subContentId\":\"97578055-d386-46be-afe3-c19eae4108aa\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Acceleration\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Acceleration\"}},\"title\":\"Acceleration\"},{\"content\":{\"params\":{\"text\":\"<p style=\\\"margin-bottom:10px\\\"><span style=\\\"font-size:11pt\\\"><span style=\\\"line-height:107%\\\"><span style=\\\"font-family:Calibri,sans-serif\\\">The faster the air moves, the less pressure it exerts.</span></span></span></p>\\n\"},\"library\":\"H5P.AdvancedText 1.1\",\"subContentId\":\"0ce32fbf-4ff1-465b-9c50-8876c5fef34d\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Bernoulli\\u2019s Principle\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Bernoulli\\u2019s Principle\"}},\"title\":\"Bernoulli\\u2019s Principle\"},{\"content\":{\"params\":{\"text\":\"<p><span style=\\\"font-size:10.5pt\\\"><span style=\\\"line-height:107%\\\"><span style=\\\"font-family:"Calibri",sans-serif\\\"><span style=\\\"color:black\\\">A vector is a quantity that has both a magnitude and a direction.</span></span></span></span></p>\\n\"},\"library\":\"H5P.AdvancedText 1.1\",\"subContentId\":\"cead752e-0c29-4acb-b9ae-2f61a3cd5c9b\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Vector\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Vector\"}},\"title\":\"Vector\"},{\"content\":{\"params\":{\"text\":\"<p><span style=\\\"font-size:10.5pt\\\"><span style=\\\"line-height:107%\\\"><span style=\\\"font-family:"Calibri",sans-serif\\\"><span style=\\\"color:black\\\">Drag is the force that acts opposite to the direction of motion. Drag is caused by friction and differences in air pressure.</span></span></span></span></p>\\n\"},\"library\":\"H5P.AdvancedText 1.1\",\"subContentId\":\"6ae4b819-276d-405e-b085-e894c31484d3\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Drag\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Drag\"}},\"title\":\"Drag\"},{\"content\":{\"params\":{\"text\":\"<p style=\\\"margin-bottom:10px\\\"><span style=\\\"font-size:11pt\\\"><span style=\\\"line-height:normal\\\"><span style=\\\"font-family:Calibri,sans-serif\\\"><span style=\\\"font-size:10.5pt\\\"><span style=\\\"color:black\\\">A turbulent flow is one in which the particles have irregular, fluctuating motions and erratic paths.</span></span></span></span></span></p>\\n\"},\"library\":\"H5P.AdvancedText 1.1\",\"subContentId\":\"f9f63fdd-0a8a-4259-a3f1-ca7271b51727\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Turbulent airflow\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Turbulent airflow\"}},\"title\":\"Turbulent airflow\"},{\"content\":{\"params\":{\"text\":\"<p style=\\\"margin-bottom:10px\\\"><span style=\\\"font-size:11pt\\\"><span style=\\\"line-height:107%\\\"><span style=\\\"font-family:Calibri,sans-serif\\\">Friction is the resistance of motion when one object rubs against another. It is a force and is measured in newtons.</span></span></span></p>\\n\"},\"library\":\"H5P.AdvancedText 1.1\",\"subContentId\":\"236c832f-f754-47d6-8d2c-1311a354d861\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Friction\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Friction\"}},\"title\":\"Friction\"}],\"hTag\":\"h2\"}",
"filtered": "{\"panels\":[{\"content\":{\"params\":{\"text\":\"<p><span><span><span>Acceleration is the measurement of the change </span></span></span><span><span><span>in an object\\u2019s velocity. </span></span></span></p>\\n\"},\"library\":\"H5P.AdvancedText 1.1\",\"subContentId\":\"97578055-d386-46be-afe3-c19eae4108aa\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Acceleration\"}},\"title\":\"Acceleration\"},{\"content\":{\"params\":{\"text\":\"<p><span><span><span>The faster the air moves, the less pressure it exerts.</span></span></span></p>\\n\"},\"library\":\"H5P.AdvancedText 1.1\",\"subContentId\":\"0ce32fbf-4ff1-465b-9c50-8876c5fef34d\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Bernoulli\\u2019s Principle\"}},\"title\":\"Bernoulli\\u2019s Principle\"},{\"content\":{\"params\":{\"text\":\"<p><span><span><span><span>A vector is a quantity that has both a magnitude and a direction.</span></span></span></span></p>\\n\"},\"library\":\"H5P.AdvancedText 1.1\",\"subContentId\":\"cead752e-0c29-4acb-b9ae-2f61a3cd5c9b\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Vector\"}},\"title\":\"Vector\"},{\"content\":{\"params\":{\"text\":\"<p><span><span><span><span>Drag is the force that acts opposite to the direction of motion. Drag is caused by friction and differences in air pressure.</span></span></span></span></p>\\n\"},\"library\":\"H5P.AdvancedText 1.1\",\"subContentId\":\"6ae4b819-276d-405e-b085-e894c31484d3\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Drag\"}},\"title\":\"Drag\"},{\"content\":{\"params\":{\"text\":\"<p><span><span><span><span><span>A turbulent flow is one in which the particles have irregular, fluctuating motions and erratic paths.</span></span></span></span></span></p>\\n\"},\"library\":\"H5P.AdvancedText 1.1\",\"subContentId\":\"f9f63fdd-0a8a-4259-a3f1-ca7271b51727\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Turbulent airflow\"}},\"title\":\"Turbulent airflow\"},{\"content\":{\"params\":{\"text\":\"<p><span><span><span>Friction is the resistance of motion when one object rubs against another. It is a force and is measured in newtons.</span></span></span></p>\\n\"},\"library\":\"H5P.AdvancedText 1.1\",\"subContentId\":\"236c832f-f754-47d6-8d2c-1311a354d861\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Friction\"}},\"title\":\"Friction\"}],\"hTag\":\"h2\"}",
"slug": "physics-vocabulary-study-guide",
"embed_type": "div",
"disable": 9,
"content_type": null,
"authors": null,
"source": null,
"year_from": null,
"year_to": null,
"license": "U",
"license_version": null,
"license_extras": null,
"author_comments": null,
"changes": null,
"default_language": null
},
"is_public": false,
"created_at": null,
"updated_at": null
},
{
"id": 1,
"playlist_id": 1,
"title": "Science of Golf: Why Balls Have Dimples",
"type": "h5p",
"content": "",
"shared": false,
"order": 2,
"thumb_url": null,
"subject_id": null,
"education_level_id": null,
"h5p_content": {
"id": 59,
"created_at": "2020-04-30T20:24:58.000000Z",
"updated_at": "2020-04-30T20:24:58.000000Z",
"user_id": 1,
"title": "Science of Golf: Why Balls Have Dimples",
"library_id": 40,
"parameters": "{\"interactiveVideo\":{\"video\":{\"startScreenOptions\":{\"title\":\"Interactive Video\",\"hideStartTitle\":false},\"textTracks\":{\"videoTrack\":[{\"label\":\"Subtitles\",\"kind\":\"subtitles\",\"srcLang\":\"en\"}]},\"files\":[{\"path\":\"https://youtu.be/fcjaxC-e8oY\",\"mime\":\"video/YouTube\",\"copyright\":{\"license\":\"U\"},\"aspectRatio\":\"16:9\"}]},\"assets\":{\"interactions\":[{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":58.33,\"to\":68.33},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"133bca3d-cfe9-442d-a887-8bf1e2ce682a\",\"question\":\"<p>Why do golf balls have dimples?</p>\\n\",\"answers\":[\"<p>They reduce wind resistance.</p>\\n\",\"<p>They make the ball more visually interesting.</p>\\n\",\"<p>They grip the putting green better than a smooth ball.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"ac029b43-7225-49ed-a2d7-8656037748e0\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Why do golf balls have dimples?\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Why do golf balls have dimples?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Why do golf balls have dimples?</p>\\n\"},{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":132.969,\"to\":142.969},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"308503f3-8d41-4f4f-b016-587bcce3dfac\",\"question\":\"<p>A smooth ball will have a detached airflow, which causes what?</p>\\n\",\"answers\":[\"<p>A low pressure zone, which is what causes drag.</p>\\n\",\"<p>The ball has no spin.</p>\\n\",\"<p>The ball travels higher, but for a shorter distance.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"f70c849d-9542-4f30-9116-8b60b7da708d\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Smooth Ball?\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Smooth Ball?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Smooth Ball</p>\\n\"}],\"bookmarks\":[],\"endscreens\":[{\"time\":295,\"label\":\"4:55 Submit screen\"}]},\"summary\":{\"task\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"8e2cf84f-4557-4f79-a03e-526838498a7d\",\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"8d5527ef-3601-4ad9-9e63-2782c9775173\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Untitled Summary\"}},\"displayAt\":3}},\"override\":{\"autoplay\":false,\"loop\":false,\"showBookmarksmenuOnLoad\":false,\"showRewind10\":false,\"preventSkipping\":false,\"deactivateSound\":false},\"l10n\":{\"interaction\":\"Interaction\",\"play\":\"Play\",\"pause\":\"Pause\",\"mute\":\"Mute\",\"unmute\":\"Unmute\",\"quality\":\"Video Quality\",\"captions\":\"Captions\",\"close\":\"Close\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit Fullscreen\",\"summary\":\"Open summary dialog\",\"bookmarks\":\"Bookmarks\",\"endscreen\":\"Submit screen\",\"defaultAdaptivitySeekLabel\":\"Continue\",\"continueWithVideo\":\"Continue with video\",\"playbackRate\":\"Playback Rate\",\"rewind10\":\"Rewind 10 Seconds\",\"navDisabled\":\"Navigation is disabled\",\"sndDisabled\":\"Sound is disabled\",\"requiresCompletionWarning\":\"You need to answer all the questions correctly before continuing.\",\"back\":\"Back\",\"hours\":\"Hours\",\"minutes\":\"Minutes\",\"seconds\":\"Seconds\",\"currentTime\":\"Current time:\",\"totalTime\":\"Total time:\",\"singleInteractionAnnouncement\":\"Interaction appeared:\",\"multipleInteractionsAnnouncement\":\"Multiple interactions appeared.\",\"videoPausedAnnouncement\":\"Video is paused\",\"content\":\"Content\",\"answered\":\"@answered answered\",\"endcardTitle\":\"@answered Question(s) answered\",\"endcardInformation\":\"You have answered @answered questions, click below to submit your answers.\",\"endcardInformationNoAnswers\":\"You have not answered any questions.\",\"endcardInformationMustHaveAnswer\":\"You have to answer at least one question before you can submit your answers.\",\"endcardSubmitButton\":\"Submit Answers\",\"endcardSubmitMessage\":\"Your answers have been submitted!\",\"endcardTableRowAnswered\":\"Answered questions\",\"endcardTableRowScore\":\"Score\",\"endcardAnsweredScore\":\"answered\",\"endCardTableRowSummaryWithScore\":\"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\"endCardTableRowSummaryWithoutScore\":\"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\"}}",
"filtered": "{\"interactiveVideo\":{\"video\":{\"startScreenOptions\":{\"title\":\"Interactive Video\",\"hideStartTitle\":false},\"textTracks\":{\"videoTrack\":[{\"label\":\"Subtitles\",\"kind\":\"subtitles\",\"srcLang\":\"en\"}]},\"files\":[{\"path\":\"https://youtu.be/fcjaxC-e8oY\",\"mime\":\"video/YouTube\",\"copyright\":{\"license\":\"U\"}}]},\"assets\":{\"interactions\":[{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":58.33,\"to\":68.33},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"133bca3d-cfe9-442d-a887-8bf1e2ce682a\",\"question\":\"<p>Why do golf balls have dimples?</p>\\n\",\"answers\":[\"<p>They reduce wind resistance.</p>\\n\",\"<p>They make the ball more visually interesting.</p>\\n\",\"<p>They grip the putting green better than a smooth ball.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"ac029b43-7225-49ed-a2d7-8656037748e0\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Why do golf balls have dimples?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Why do golf balls have dimples?</p>\\n\"},{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":132.969,\"to\":142.969},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"308503f3-8d41-4f4f-b016-587bcce3dfac\",\"question\":\"<p>A smooth ball will have a detached airflow, which causes what?</p>\\n\",\"answers\":[\"<p>A low pressure zone, which is what causes drag.</p>\\n\",\"<p>The ball has no spin.</p>\\n\",\"<p>The ball travels higher, but for a shorter distance.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"f70c849d-9542-4f30-9116-8b60b7da708d\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Smooth Ball?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Smooth Ball</p>\\n\"}],\"endscreens\":[{\"time\":295,\"label\":\"4:55 Submit screen\"}]},\"summary\":{\"task\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"8e2cf84f-4557-4f79-a03e-526838498a7d\",\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"8d5527ef-3601-4ad9-9e63-2782c9775173\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\"}},\"displayAt\":3}},\"override\":{\"autoplay\":false,\"loop\":false,\"showBookmarksmenuOnLoad\":false,\"showRewind10\":false,\"preventSkipping\":false,\"deactivateSound\":false},\"l10n\":{\"interaction\":\"Interaction\",\"play\":\"Play\",\"pause\":\"Pause\",\"mute\":\"Mute\",\"unmute\":\"Unmute\",\"quality\":\"Video Quality\",\"captions\":\"Captions\",\"close\":\"Close\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit Fullscreen\",\"summary\":\"Open summary dialog\",\"bookmarks\":\"Bookmarks\",\"endscreen\":\"Submit screen\",\"defaultAdaptivitySeekLabel\":\"Continue\",\"continueWithVideo\":\"Continue with video\",\"playbackRate\":\"Playback Rate\",\"rewind10\":\"Rewind 10 Seconds\",\"navDisabled\":\"Navigation is disabled\",\"sndDisabled\":\"Sound is disabled\",\"requiresCompletionWarning\":\"You need to answer all the questions correctly before continuing.\",\"back\":\"Back\",\"hours\":\"Hours\",\"minutes\":\"Minutes\",\"seconds\":\"Seconds\",\"currentTime\":\"Current time:\",\"totalTime\":\"Total time:\",\"singleInteractionAnnouncement\":\"Interaction appeared:\",\"multipleInteractionsAnnouncement\":\"Multiple interactions appeared.\",\"videoPausedAnnouncement\":\"Video is paused\",\"content\":\"Content\",\"answered\":\"@answered answered\",\"endcardTitle\":\"@answered Question(s) answered\",\"endcardInformation\":\"You have answered @answered questions, click below to submit your answers.\",\"endcardInformationNoAnswers\":\"You have not answered any questions.\",\"endcardInformationMustHaveAnswer\":\"You have to answer at least one question before you can submit your answers.\",\"endcardSubmitButton\":\"Submit Answers\",\"endcardSubmitMessage\":\"Your answers have been submitted!\",\"endcardTableRowAnswered\":\"Answered questions\",\"endcardTableRowScore\":\"Score\",\"endcardAnsweredScore\":\"answered\",\"endCardTableRowSummaryWithScore\":\"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\"endCardTableRowSummaryWithoutScore\":\"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\"}}",
"slug": "science-of-golf-why-balls-have-dimples",
"embed_type": "div",
"disable": 9,
"content_type": null,
"authors": null,
"source": null,
"year_from": null,
"year_to": null,
"license": "U",
"license_version": null,
"license_extras": null,
"author_comments": null,
"changes": null,
"default_language": null
},
"is_public": false,
"created_at": null,
"updated_at": null
},
{
"id": 2,
"playlist_id": 1,
"title": "Physics and Golf Balls",
"type": "h5p",
"content": "",
"shared": false,
"order": 3,
"thumb_url": null,
"subject_id": null,
"education_level_id": null,
"h5p_content": {
"id": 60,
"created_at": "2020-04-30T20:31:11.000000Z",
"updated_at": "2020-04-30T20:31:11.000000Z",
"user_id": 1,
"title": "Physics and Golf Balls",
"library_id": 60,
"parameters": "{\"cards\":[{\"text\":\"Is the measurement of the change in an object\\u2019s velocity called Speed or Acceleration?\",\"answer\":\"Acceleration\",\"image\":{\"path\":\"images/image-5eab35098aaf0.png#tmp\",\"mime\":\"image/png\",\"copyright\":{\"license\":\"U\"},\"width\":1280,\"height\":720},\"tip\":\"\"},{\"text\":\"Dimples reduce wind resistance or aerodynamic drag. Does that make the ball go farther or faster?\",\"answer\":\"Farther\",\"image\":{\"path\":\"images/image-5eab355f7ca78.jpg#tmp\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":1280,\"height\":720},\"tip\":\"\"},{\"text\":\"Do dimples on a ball increase or decrease the lift?\",\"answer\":\"Increase\",\"image\":{\"path\":\"images/image-5eab3589be9e3.jpg#tmp\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":634,\"height\":508},\"tip\":\"\"}],\"progressText\":\"Card @card of @total\",\"next\":\"Next\",\"previous\":\"Previous\",\"checkAnswerText\":\"Check\",\"showSolutionsRequiresInput\":true,\"defaultAnswerText\":\"Your answer\",\"correctAnswerText\":\"Correct\",\"incorrectAnswerText\":\"Incorrect\",\"showSolutionText\":\"Correct answer\",\"results\":\"Results\",\"ofCorrect\":\"@score of @total correct\",\"showResults\":\"Show results\",\"answerShortText\":\"A:\",\"retry\":\"Retry\",\"caseSensitive\":false,\"cardAnnouncement\":\"Incorrect answer. Correct answer was @answer\",\"pageAnnouncement\":\"Page @current of @total\",\"description\":\"See if you can remember what you learned!\"}",
"filtered": "{\"cards\":[{\"text\":\"Is the measurement of the change in an object\\u2019s velocity called Speed or Acceleration?\",\"answer\":\"Acceleration\",\"image\":{\"path\":\"images/image-5eab35098aaf0.png\",\"mime\":\"image/png\",\"copyright\":{\"license\":\"U\"},\"width\":1280,\"height\":720},\"tip\":\"\"},{\"text\":\"Dimples reduce wind resistance or aerodynamic drag. Does that make the ball go farther or faster?\",\"answer\":\"Farther\",\"image\":{\"path\":\"images/image-5eab355f7ca78.jpg\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":1280,\"height\":720},\"tip\":\"\"},{\"text\":\"Do dimples on a ball increase or decrease the lift?\",\"answer\":\"Increase\",\"image\":{\"path\":\"images/image-5eab3589be9e3.jpg\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":634,\"height\":508},\"tip\":\"\"}],\"progressText\":\"Card @card of @total\",\"next\":\"Next\",\"previous\":\"Previous\",\"checkAnswerText\":\"Check\",\"showSolutionsRequiresInput\":true,\"defaultAnswerText\":\"Your answer\",\"correctAnswerText\":\"Correct\",\"incorrectAnswerText\":\"Incorrect\",\"showSolutionText\":\"Correct answer\",\"results\":\"Results\",\"ofCorrect\":\"@score of @total correct\",\"showResults\":\"Show results\",\"answerShortText\":\"A:\",\"retry\":\"Retry\",\"caseSensitive\":false,\"cardAnnouncement\":\"Incorrect answer. Correct answer was @answer\",\"pageAnnouncement\":\"Page @current of @total\",\"description\":\"See if you can remember what you learned!\"}",
"slug": "physics-and-golf-balls",
"embed_type": "div",
"disable": 9,
"content_type": null,
"authors": null,
"source": null,
"year_from": null,
"year_to": null,
"license": "U",
"license_version": null,
"license_extras": null,
"author_comments": null,
"changes": null,
"default_language": null
},
"is_public": false,
"created_at": null,
"updated_at": null
},
{
"id": 6,
"playlist_id": 1,
"title": "Understanding Gear Effect | Equipment and Tech | 18Birdies",
"type": "h5p",
"content": "",
"shared": false,
"order": 4,
"thumb_url": null,
"subject_id": null,
"education_level_id": null,
"h5p_content": {
"id": 75,
"created_at": "2020-05-01T04:51:11.000000Z",
"updated_at": "2020-05-01T04:51:11.000000Z",
"user_id": 1,
"title": "Understanding Gear Effect | Equipment and Tech | 18Birdies",
"library_id": 40,
"parameters": "{\"interactiveVideo\":{\"video\":{\"startScreenOptions\":{\"title\":\"Interactive Video\",\"hideStartTitle\":false},\"textTracks\":{\"videoTrack\":[{\"label\":\"Subtitles\",\"kind\":\"subtitles\",\"srcLang\":\"en\"}]},\"files\":[{\"path\":\"https://www.youtube.com/watch?v=FdH0JQL5E-U&list=PLVIShUJLAj0rWw3Yr3VtFGH4IbIVMfQFo\",\"mime\":\"video/YouTube\",\"copyright\":{\"license\":\"U\"},\"aspectRatio\":\"16:9\"}]},\"assets\":{\"interactions\":[{\"x\":46.87499999999999,\"y\":44.44444444444444,\"width\":10,\"height\":10,\"duration\":{\"from\":52,\"to\":52},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"c9f0c83d-2ba2-4810-843a-1ee7bec2076f\",\"question\":\"<p>\\\"Torque\\\" is a property of golf shafts that describes how much the shaft is prone to twisting during the golf swing.</p>\\n\",\"answers\":[\"<p>True</p>\\n\",\"<p>False</p>\\n\"]},{\"subContentId\":\"81f2e02c-0f04-44a3-922c-4eac61a11acb\",\"question\":\"<p>... A shaft with a _____ torque rating means the shaft better resists twisting; a shaft with a ____ torque rating means the shaft is more prone to twisting (all other things being equal).</p>\\n\",\"answers\":[\"<p>lower, higher</p>\\n\",\"<p>higher, lower</p>\\n\",\"<p>sharper, duller</p>\\n\",\"<p>straigher, curved</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"eadebb1e-891e-4ff3-8676-943c2616a9e0\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Untitled Single Choice Set\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Untitled Single Choice Set\"}},\"pause\":true,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"\"},{\"x\":46.87499999999999,\"y\":44.44444444444444,\"width\":10,\"height\":10,\"duration\":{\"from\":24.314,\"to\":34.314},\"libraryTitle\":\"Statements\",\"action\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"7bce98af-5267-4ca6-a08c-0c8f2bef5afb\",\"summary\":[\"Gear effect is the term used to explain how and why hitting the ball off-center changes the ball flight.\\n\",\"<p>Gear effect is the term used to explain how and why it is imprtant to adjust the pressure on the clubhead.</p>\\n\",\"<p>Gear effect is the term used to explain how and why it is imprtant to ride your bike to the course.</p>\\n\"],\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"3b954191-ad43-452c-95c3-868047eb55be\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Untitled Summary\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"}},\"label\":\"\"},{\"x\":46.87499999999999,\"y\":44.44444444444444,\"width\":10,\"height\":10,\"duration\":{\"from\":145.688,\"to\":155.688},\"libraryTitle\":\"Multiple Choice\",\"action\":{\"library\":\"H5P.MultiChoice 1.14\",\"params\":{\"media\":{\"type\":{\"params\":{}},\"disableImageZooming\":false},\"answers\":[{\"correct\":true,\"tipsAndFeedback\":{\"tip\":\"\",\"chosenFeedback\":\"\",\"notChosenFeedback\":\"\"},\"text\":\"<div>This pushes the ball to the right, causing a fade slice curved flight.</div>\\n\"},{\"correct\":false,\"tipsAndFeedback\":{\"tip\":\"\",\"chosenFeedback\":\"\",\"notChosenFeedback\":\"\"},\"text\":\"<div>This pushes the ball to the left, causing a <strong>slice</strong> curved flight.</div>\\n\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"enableRetry\":true,\"enableSolutionsButton\":true,\"enableCheckButton\":true,\"type\":\"auto\",\"singlePoint\":false,\"randomAnswers\":true,\"showSolutionsRequiresInput\":true,\"confirmCheckDialog\":false,\"confirmRetryDialog\":false,\"autoCheck\":false,\"passPercentage\":100,\"showScorePoints\":true},\"UI\":{\"checkAnswerButton\":\"Check\",\"showSolutionButton\":\"Show solution\",\"tryAgainButton\":\"Retry\",\"tipsLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"tipAvailable\":\"Tip available\",\"feedbackAvailable\":\"Feedback available\",\"readFeedback\":\"Read feedback\",\"wrongAnswer\":\"Wrong answer\",\"correctAnswer\":\"Correct answer\",\"shouldCheck\":\"Should have been checked\",\"shouldNotCheck\":\"Should not have been checked\",\"noInput\":\"Please answer before viewing the solution\"},\"confirmCheck\":{\"header\":\"Finish ?\",\"body\":\"Are you sure you wish to finish ?\",\"cancelLabel\":\"Cancel\",\"confirmLabel\":\"Finish\"},\"confirmRetry\":{\"header\":\"Retry ?\",\"body\":\"Are you sure you wish to retry ?\",\"cancelLabel\":\"Cancel\",\"confirmLabel\":\"Confirm\"},\"question\":\"<p>When a ball is spinning in a clockwise direction, there is high pressure on the left hand side of the ball, and low pressure on the right.</p>\\n\"},\"subContentId\":\"df5e99b0-6513-4aa9-a760-e3d9e2bfefe9\",\"metadata\":{\"contentType\":\"Multiple Choice\",\"license\":\"U\",\"title\":\"Untitled Multiple Choice\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Untitled Multiple Choice\"}},\"pause\":true,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"\"}],\"bookmarks\":[],\"endscreens\":[{\"time\":358,\"label\":\"5:58 Submit screen\"}]},\"summary\":{\"task\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"64506cb8-ea40-4c72-8c98-ed0bb3c3b808\",\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"b8eb5a4d-5e2e-4b74-95f5-ca37d1a45186\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Untitled Summary\"}},\"displayAt\":3}},\"override\":{\"autoplay\":true,\"loop\":false,\"showBookmarksmenuOnLoad\":false,\"showRewind10\":false,\"preventSkipping\":false,\"deactivateSound\":false,\"startVideoAt\":37},\"l10n\":{\"interaction\":\"Interaction\",\"play\":\"Play\",\"pause\":\"Pause\",\"mute\":\"Mute\",\"unmute\":\"Unmute\",\"quality\":\"Video Quality\",\"captions\":\"Captions\",\"close\":\"Close\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit Fullscreen\",\"summary\":\"Open summary dialog\",\"bookmarks\":\"Bookmarks\",\"endscreen\":\"Submit screen\",\"defaultAdaptivitySeekLabel\":\"Continue\",\"continueWithVideo\":\"Continue with video\",\"playbackRate\":\"Playback Rate\",\"rewind10\":\"Rewind 10 Seconds\",\"navDisabled\":\"Navigation is disabled\",\"sndDisabled\":\"Sound is disabled\",\"requiresCompletionWarning\":\"You need to answer all the questions correctly before continuing.\",\"back\":\"Back\",\"hours\":\"Hours\",\"minutes\":\"Minutes\",\"seconds\":\"Seconds\",\"currentTime\":\"Current time:\",\"totalTime\":\"Total time:\",\"singleInteractionAnnouncement\":\"Interaction appeared:\",\"multipleInteractionsAnnouncement\":\"Multiple interactions appeared.\",\"videoPausedAnnouncement\":\"Video is paused\",\"content\":\"Content\",\"answered\":\"@answered answered\",\"endcardTitle\":\"@answered Question(s) answered\",\"endcardInformation\":\"You have answered @answered questions, click below to submit your answers.\",\"endcardInformationNoAnswers\":\"You have not answered any questions.\",\"endcardInformationMustHaveAnswer\":\"You have to answer at least one question before you can submit your answers.\",\"endcardSubmitButton\":\"Submit Answers\",\"endcardSubmitMessage\":\"Your answers have been submitted!\",\"endcardTableRowAnswered\":\"Answered questions\",\"endcardTableRowScore\":\"Score\",\"endcardAnsweredScore\":\"answered\",\"endCardTableRowSummaryWithScore\":\"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\"endCardTableRowSummaryWithoutScore\":\"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\"}}",
"filtered": "{\"interactiveVideo\":{\"video\":{\"startScreenOptions\":{\"title\":\"Interactive Video\",\"hideStartTitle\":false},\"textTracks\":{\"videoTrack\":[{\"label\":\"Subtitles\",\"kind\":\"subtitles\",\"srcLang\":\"en\"}]},\"files\":[{\"path\":\"https://www.youtube.com/watch?v=FdH0JQL5E-U&list=PLVIShUJLAj0rWw3Yr3VtFGH4IbIVMfQFo\",\"mime\":\"video/YouTube\",\"copyright\":{\"license\":\"U\"}}]},\"assets\":{\"interactions\":[{\"x\":46.87499999999999,\"y\":44.44444444444444,\"width\":10,\"height\":10,\"duration\":{\"from\":52,\"to\":52},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"c9f0c83d-2ba2-4810-843a-1ee7bec2076f\",\"question\":\"<p>\\\"Torque\\\" is a property of golf shafts that describes how much the shaft is prone to twisting during the golf swing.</p>\\n\",\"answers\":[\"<p>True</p>\\n\",\"<p>False</p>\\n\"]},{\"subContentId\":\"81f2e02c-0f04-44a3-922c-4eac61a11acb\",\"question\":\"<p>... A shaft with a _____ torque rating means the shaft better resists twisting; a shaft with a ____ torque rating means the shaft is more prone to twisting (all other things being equal).</p>\\n\",\"answers\":[\"<p>lower, higher</p>\\n\",\"<p>higher, lower</p>\\n\",\"<p>sharper, duller</p>\\n\",\"<p>straigher, curved</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"eadebb1e-891e-4ff3-8676-943c2616a9e0\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Untitled Single Choice Set\"}},\"pause\":true,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"\"},{\"x\":46.87499999999999,\"y\":44.44444444444444,\"width\":10,\"height\":10,\"duration\":{\"from\":24.314,\"to\":34.314},\"libraryTitle\":\"Statements\",\"action\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"7bce98af-5267-4ca6-a08c-0c8f2bef5afb\",\"summary\":[\"Gear effect is the term used to explain how and why hitting the ball off-center changes the ball flight.\\n\",\"<p>Gear effect is the term used to explain how and why it is imprtant to adjust the pressure on the clubhead.</p>\\n\",\"<p>Gear effect is the term used to explain how and why it is imprtant to ride your bike to the course.</p>\\n\"],\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"3b954191-ad43-452c-95c3-868047eb55be\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"}},\"label\":\"\"},{\"x\":46.87499999999999,\"y\":44.44444444444444,\"width\":10,\"height\":10,\"duration\":{\"from\":145.688,\"to\":155.688},\"libraryTitle\":\"Multiple Choice\",\"action\":{\"library\":\"H5P.MultiChoice 1.14\",\"params\":{\"media\":{\"disableImageZooming\":false},\"answers\":[{\"correct\":true,\"tipsAndFeedback\":{\"tip\":\"\",\"chosenFeedback\":\"\",\"notChosenFeedback\":\"\"},\"text\":\"<div>This pushes the ball to the right, causing a fade slice curved flight.</div>\\n\"},{\"correct\":false,\"tipsAndFeedback\":{\"tip\":\"\",\"chosenFeedback\":\"\",\"notChosenFeedback\":\"\"},\"text\":\"<div>This pushes the ball to the left, causing a <strong>slice</strong> curved flight.</div>\\n\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"enableRetry\":true,\"enableSolutionsButton\":true,\"enableCheckButton\":true,\"type\":\"auto\",\"singlePoint\":false,\"randomAnswers\":true,\"showSolutionsRequiresInput\":true,\"confirmCheckDialog\":false,\"confirmRetryDialog\":false,\"autoCheck\":false,\"passPercentage\":100,\"showScorePoints\":true},\"UI\":{\"checkAnswerButton\":\"Check\",\"showSolutionButton\":\"Show solution\",\"tryAgainButton\":\"Retry\",\"tipsLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"tipAvailable\":\"Tip available\",\"feedbackAvailable\":\"Feedback available\",\"readFeedback\":\"Read feedback\",\"wrongAnswer\":\"Wrong answer\",\"correctAnswer\":\"Correct answer\",\"shouldCheck\":\"Should have been checked\",\"shouldNotCheck\":\"Should not have been checked\",\"noInput\":\"Please answer before viewing the solution\"},\"confirmCheck\":{\"header\":\"Finish ?\",\"body\":\"Are you sure you wish to finish ?\",\"cancelLabel\":\"Cancel\",\"confirmLabel\":\"Finish\"},\"confirmRetry\":{\"header\":\"Retry ?\",\"body\":\"Are you sure you wish to retry ?\",\"cancelLabel\":\"Cancel\",\"confirmLabel\":\"Confirm\"},\"question\":\"<p>When a ball is spinning in a clockwise direction, there is high pressure on the left hand side of the ball, and low pressure on the right.</p>\\n\"},\"subContentId\":\"df5e99b0-6513-4aa9-a760-e3d9e2bfefe9\",\"metadata\":{\"contentType\":\"Multiple Choice\",\"license\":\"U\",\"title\":\"Untitled Multiple Choice\"}},\"pause\":true,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"\"}],\"endscreens\":[{\"time\":358,\"label\":\"5:58 Submit screen\"}]},\"summary\":{\"task\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"64506cb8-ea40-4c72-8c98-ed0bb3c3b808\",\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"b8eb5a4d-5e2e-4b74-95f5-ca37d1a45186\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\"}},\"displayAt\":3}},\"override\":{\"autoplay\":true,\"loop\":false,\"showBookmarksmenuOnLoad\":false,\"showRewind10\":false,\"preventSkipping\":false,\"deactivateSound\":false,\"startVideoAt\":37},\"l10n\":{\"interaction\":\"Interaction\",\"play\":\"Play\",\"pause\":\"Pause\",\"mute\":\"Mute\",\"unmute\":\"Unmute\",\"quality\":\"Video Quality\",\"captions\":\"Captions\",\"close\":\"Close\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit Fullscreen\",\"summary\":\"Open summary dialog\",\"bookmarks\":\"Bookmarks\",\"endscreen\":\"Submit screen\",\"defaultAdaptivitySeekLabel\":\"Continue\",\"continueWithVideo\":\"Continue with video\",\"playbackRate\":\"Playback Rate\",\"rewind10\":\"Rewind 10 Seconds\",\"navDisabled\":\"Navigation is disabled\",\"sndDisabled\":\"Sound is disabled\",\"requiresCompletionWarning\":\"You need to answer all the questions correctly before continuing.\",\"back\":\"Back\",\"hours\":\"Hours\",\"minutes\":\"Minutes\",\"seconds\":\"Seconds\",\"currentTime\":\"Current time:\",\"totalTime\":\"Total time:\",\"singleInteractionAnnouncement\":\"Interaction appeared:\",\"multipleInteractionsAnnouncement\":\"Multiple interactions appeared.\",\"videoPausedAnnouncement\":\"Video is paused\",\"content\":\"Content\",\"answered\":\"@answered answered\",\"endcardTitle\":\"@answered Question(s) answered\",\"endcardInformation\":\"You have answered @answered questions, click below to submit your answers.\",\"endcardInformationNoAnswers\":\"You have not answered any questions.\",\"endcardInformationMustHaveAnswer\":\"You have to answer at least one question before you can submit your answers.\",\"endcardSubmitButton\":\"Submit Answers\",\"endcardSubmitMessage\":\"Your answers have been submitted!\",\"endcardTableRowAnswered\":\"Answered questions\",\"endcardTableRowScore\":\"Score\",\"endcardAnsweredScore\":\"answered\",\"endCardTableRowSummaryWithScore\":\"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\"endCardTableRowSummaryWithoutScore\":\"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\"}}",
"slug": "understanding-gear-effect-equipment-and-tech-18birdies",
"embed_type": "div",
"disable": 9,
"content_type": null,
"authors": null,
"source": null,
"year_from": null,
"year_to": null,
"license": "U",
"license_version": null,
"license_extras": null,
"author_comments": null,
"changes": null,
"default_language": null
},
"is_public": false,
"created_at": null,
"updated_at": null
},
{
"id": 5,
"playlist_id": 1,
"title": "The Evolution of the Golf Ball",
"type": "h5p",
"content": "",
"shared": false,
"order": 5,
"thumb_url": null,
"subject_id": null,
"education_level_id": null,
"h5p_content": {
"id": 66,
"created_at": "2020-04-30T23:58:44.000000Z",
"updated_at": "2020-04-30T23:58:44.000000Z",
"user_id": 1,
"title": "The Evolution of the Golf Ball",
"library_id": 61,
"parameters": "{\"timeline\":{\"defaultZoomLevel\":\"0\",\"height\":600,\"asset\":{},\"date\":[{\"asset\":{\"thumbnail\":{\"path\":\"images/thumbnail-5eab648fb61c9.jpeg#tmp\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":234,\"height\":216}},\"startDate\":\"1400\",\"endDate\":\"2020\",\"headline\":\"Origins of Golf\",\"text\":\"<p>Golf is recorded in its first recognizable form in the Eastern Coast of Scotland.</p>\\n\"},{\"asset\":{\"thumbnail\":{\"path\":\"images/thumbnail-5eab64e26de00.jpg#tmp\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":475,\"height\":222}},\"startDate\":\"1600\",\"headline\":\"Wood Golf Balls\",\"text\":\"<p>The first known golf ball was made out of wood, most likely beech, boxroot and similar hardwoods. Wooden clubs were the golf club of choice, which in conjunction with the wood balls would have made your friendly game of golf a rather jarring experience.</p>\\n\"},{\"asset\":{\"thumbnail\":{\"path\":\"images/thumbnail-5eab652f19393.png#tmp\",\"mime\":\"image/png\",\"copyright\":{\"license\":\"U\"},\"width\":1128,\"height\":1096}},\"startDate\":\"1618\",\"headline\":\"Feathery Golf Balls\",\"text\":\"<p>The first \\\"real\\\" golf ball was known as a \\\"feathery\\\"golf ball. Basically, the feathery was a leather sack filled with boiled goose feathers, then stitched up and painted. Feathery golf balls were expensive to make easily damaged and only the privileged few could afford to use them. </p>\\n\\n<p>It was made of cow or horsehide which was stuffed with feathers; most often goose feather. The leather, in order to be easier to work with, was soaked in water. The feathers that were forced into the ball by using a specially designed crutch-handled filling rod were soaked as well. </p>\\n\\n<p>After the ball was carefully hand sewn together, it was left to dry. While the leather shrank, the feathers expanded, which made the ball very hard and compact. </p>\\n\\n<p>Interestingly, the featherie also had excellent flight characteristics as it could reach a distance of up to 175 yards; although the longest recorded distance is more than 361 yards.<br>\\n </p>\\n\"},{\"asset\":{\"thumbnail\":{\"path\":\"images/thumbnail-5eab658fa6bde.jpg#tmp\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":1350,\"height\":759},\"media\":\"https://images.app.goo.gl/MFHFL1dtDiyR5nGq7\"},\"startDate\":\"1848\",\"headline\":\"Cost of Golf Balls\",\"text\":\"<p>In the mid-19th century, most people could only dream of playing golf. There were at the time fewer than 20 golf clubs around the world, with just three being outside Scotland. But that was not the only thing that prevented most people from playing golf. The high cost of golf essentials, especially of golf balls, made the game pretty much inaccessible to ordinary people.31 But that was soon about to change...<br>\\n </p>\\n\"},{\"asset\":{\"thumbnail\":{\"path\":\"images/thumbnail-5eab65cbe1adb.png#tmp\",\"mime\":\"image/png\",\"copyright\":{\"license\":\"U\"},\"width\":944,\"height\":890}},\"startDate\":\"1848\",\"endDate\":\"1890\",\"headline\":\"Gutty Golf Balls\",\"text\":\"<p>It wasn't until 1848 that Rev. Dr. Robert Adams began creating golf balls out of Gutta Percha \\\"Gutty\\\". The Gutty golf ball was created from the dried sap of the Sapodilla tree. It had a rubber-like feel and was formed into ball shapes by heating it up and shaping it while hot. </p>\\n\\n<p>The arrival of the gutta percha ball or \\\"gutty\\\", as it was called, revolutionized the game of golf and allowed its spread to the masses due to its affordability, playability and durability.</p>\\n\"},{\"asset\":{},\"startDate\":\"1899\",\"headline\":\"Hand Hammered Gutta Ball\",\"text\":\"<p>American businessman and inventor Coburn Haskell (1868-1922) got a (joint) patent from the United States Patent Office for the rubber-wound ball47 which would soon lead to another revolution in golf. Widely regarded as the first modern golf ball, Haskell\\u2019s ball was made of a solid rubber-wound core that was covered by guttapercha.</p>\\n\"}],\"language\":\"en\",\"headline\":\"The Evolution of the Golf Ball\",\"text\":\"<div>A golf ball is central to the game of golf. In fact, golf is all about the ball. Well, getting it into the hole in the ground!</div>\\n\",\"backgroundImage\":{\"path\":\"images/backgroundImage-5eab633e2e935.jpg#tmp\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":2139,\"height\":1179}}}",
"filtered": "{\"timeline\":{\"defaultZoomLevel\":\"0\",\"height\":600,\"asset\":{},\"date\":[{\"asset\":{\"thumbnail\":{\"path\":\"images/thumbnail-5eab648fb61c9.jpeg\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":234,\"height\":216}},\"startDate\":\"1400\",\"endDate\":\"2020\",\"headline\":\"Origins of Golf\",\"text\":\"<p>Golf is recorded in its first recognizable form in the Eastern Coast of Scotland.</p>\\n\"},{\"asset\":{\"thumbnail\":{\"path\":\"images/thumbnail-5eab64e26de00.jpg\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":475,\"height\":222}},\"startDate\":\"1600\",\"headline\":\"Wood Golf Balls\",\"text\":\"<p>The first known golf ball was made out of wood, most likely beech, boxroot and similar hardwoods. Wooden clubs were the golf club of choice, which in conjunction with the wood balls would have made your friendly game of golf a rather jarring experience.</p>\\n\"},{\"asset\":{\"thumbnail\":{\"path\":\"images/thumbnail-5eab652f19393.png\",\"mime\":\"image/png\",\"copyright\":{\"license\":\"U\"},\"width\":1128,\"height\":1096}},\"startDate\":\"1618\",\"headline\":\"Feathery Golf Balls\",\"text\":\"<p>The first \\\"real\\\" golf ball was known as a \\\"feathery\\\"golf ball. Basically, the feathery was a leather sack filled with boiled goose feathers, then stitched up and painted. Feathery golf balls were expensive to make easily damaged and only the privileged few could afford to use them. </p>\\n\\n<p>It was made of cow or horsehide which was stuffed with feathers; most often goose feather. The leather, in order to be easier to work with, was soaked in water. The feathers that were forced into the ball by using a specially designed crutch-handled filling rod were soaked as well. </p>\\n\\n<p>After the ball was carefully hand sewn together, it was left to dry. While the leather shrank, the feathers expanded, which made the ball very hard and compact. </p>\\n\\n<p>Interestingly, the featherie also had excellent flight characteristics as it could reach a distance of up to 175 yards; although the longest recorded distance is more than 361 yards.<br>\\n </p>\\n\"},{\"asset\":{\"thumbnail\":{\"path\":\"images/thumbnail-5eab658fa6bde.jpg\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":1350,\"height\":759},\"media\":\"https://images.app.goo.gl/MFHFL1dtDiyR5nGq7\"},\"startDate\":\"1848\",\"headline\":\"Cost of Golf Balls\",\"text\":\"<p>In the mid-19th century, most people could only dream of playing golf. There were at the time fewer than 20 golf clubs around the world, with just three being outside Scotland. But that was not the only thing that prevented most people from playing golf. The high cost of golf essentials, especially of golf balls, made the game pretty much inaccessible to ordinary people.31 But that was soon about to change...<br>\\n </p>\\n\"},{\"asset\":{\"thumbnail\":{\"path\":\"images/thumbnail-5eab65cbe1adb.png\",\"mime\":\"image/png\",\"copyright\":{\"license\":\"U\"},\"width\":944,\"height\":890}},\"startDate\":\"1848\",\"endDate\":\"1890\",\"headline\":\"Gutty Golf Balls\",\"text\":\"<p>It wasn't until 1848 that Rev. Dr. Robert Adams began creating golf balls out of Gutta Percha \\\"Gutty\\\". The Gutty golf ball was created from the dried sap of the Sapodilla tree. It had a rubber-like feel and was formed into ball shapes by heating it up and shaping it while hot. </p>\\n\\n<p>The arrival of the gutta percha ball or \\\"gutty\\\", as it was called, revolutionized the game of golf and allowed its spread to the masses due to its affordability, playability and durability.</p>\\n\"},{\"asset\":{},\"startDate\":\"1899\",\"headline\":\"Hand Hammered Gutta Ball\",\"text\":\"<p>American businessman and inventor Coburn Haskell (1868-1922) got a (joint) patent from the United States Patent Office for the rubber-wound ball47 which would soon lead to another revolution in golf. Widely regarded as the first modern golf ball, Haskell\\u2019s ball was made of a solid rubber-wound core that was covered by guttapercha.</p>\\n\"}],\"language\":\"en\",\"headline\":\"The Evolution of the Golf Ball\",\"text\":\"<div>A golf ball is central to the game of golf. In fact, golf is all about the ball. Well, getting it into the hole in the ground!</div>\\n\",\"backgroundImage\":{\"path\":\"images/backgroundImage-5eab633e2e935.jpg\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":2139,\"height\":1179}}}",
"slug": "the-evolution-of-the-golf-ball",
"embed_type": "div",
"disable": 9,
"content_type": null,
"authors": null,
"source": null,
"year_from": null,
"year_to": null,
"license": "U",
"license_version": null,
"license_extras": null,
"author_comments": null,
"changes": null,
"default_language": null
},
"is_public": false,
"created_at": null,
"updated_at": null
},
{
"id": 7,
"playlist_id": 1,
"title": "Famous Golf Holes",
"type": "h5p",
"content": "",
"shared": false,
"order": 6,
"thumb_url": null,
"subject_id": null,
"education_level_id": null,
"h5p_content": {
"id": 76,
"created_at": "2020-05-01T05:20:54.000000Z",
"updated_at": "2020-05-01T05:20:54.000000Z",
"user_id": 1,
"title": "Famous Golf Holes",
"library_id": 60,
"parameters": "{\"cards\":[{\"answer\":\"7th Hole at Pebble Beach\",\"image\":{\"path\":\"images/image-5eabad2e71b62.jpg#tmp\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":991,\"height\":500},\"tip\":\"<p>Mickey Mantle<br>\\nAT&T Pro Am</p>\\n\"},{\"answer\":\"12th hole at Augusta National\",\"image\":{\"path\":\"images/image-5eabae675c197.jpg#tmp\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":847,\"height\":467},\"tip\":\"\"},{\"answer\":\"7th hole at TPC Sawgrass\",\"image\":{\"path\":\"images/image-5eabaec199254.jpg#tmp\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":1024,\"height\":570},\"tip\":\"\"},{\"answer\":\"The Old Course at St Andrews, #18\",\"image\":{\"path\":\"images/image-5eabafb2400f7.jpg#tmp\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":475,\"height\":367},\"tip\":\"\"},{\"answer\":\"Pine Valley Golf Club, #18\",\"image\":{\"path\":\"images/image-5eabb0ced23c3.jpg#tmp\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":960,\"height\":640},\"tip\":\"\"},{\"answer\":\"Celebrity Course - Indian Wells Golf Resort, #14\",\"image\":{\"path\":\"images/image-5eabb17c9a715.jpg#tmp\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":780,\"height\":490},\"tip\":\"\"}],\"progressText\":\"Card @card of @total\",\"next\":\"Next\",\"previous\":\"Previous\",\"checkAnswerText\":\"Check\",\"showSolutionsRequiresInput\":true,\"defaultAnswerText\":\"Your answer\",\"correctAnswerText\":\"Correct\",\"incorrectAnswerText\":\"Incorrect\",\"showSolutionText\":\"Correct answer\",\"results\":\"Results\",\"ofCorrect\":\"@score of @total correct\",\"showResults\":\"Show results\",\"answerShortText\":\"A:\",\"retry\":\"Retry\",\"caseSensitive\":false,\"cardAnnouncement\":\"Incorrect answer. Correct answer was @answer\",\"pageAnnouncement\":\"Page @current of @total\",\"description\":\"Match the Hole with the Course\"}",
"filtered": "{\"cards\":[{\"answer\":\"7th Hole at Pebble Beach\",\"image\":{\"path\":\"images/image-5eabad2e71b62.jpg\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":991,\"height\":500},\"tip\":\"<p>Mickey Mantle<br>\\nAT&T Pro Am</p>\\n\"},{\"answer\":\"12th hole at Augusta National\",\"image\":{\"path\":\"images/image-5eabae675c197.jpg\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":847,\"height\":467},\"tip\":\"\"},{\"answer\":\"7th hole at TPC Sawgrass\",\"image\":{\"path\":\"images/image-5eabaec199254.jpg\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":1024,\"height\":570},\"tip\":\"\"},{\"answer\":\"The Old Course at St Andrews, #18\",\"image\":{\"path\":\"images/image-5eabafb2400f7.jpg\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":475,\"height\":367},\"tip\":\"\"},{\"answer\":\"Pine Valley Golf Club, #18\",\"image\":{\"path\":\"images/image-5eabb0ced23c3.jpg\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":960,\"height\":640},\"tip\":\"\"},{\"answer\":\"Celebrity Course - Indian Wells Golf Resort, #14\",\"image\":{\"path\":\"images/image-5eabb17c9a715.jpg\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":780,\"height\":490},\"tip\":\"\"}],\"progressText\":\"Card @card of @total\",\"next\":\"Next\",\"previous\":\"Previous\",\"checkAnswerText\":\"Check\",\"showSolutionsRequiresInput\":true,\"defaultAnswerText\":\"Your answer\",\"correctAnswerText\":\"Correct\",\"incorrectAnswerText\":\"Incorrect\",\"showSolutionText\":\"Correct answer\",\"results\":\"Results\",\"ofCorrect\":\"@score of @total correct\",\"showResults\":\"Show results\",\"answerShortText\":\"A:\",\"retry\":\"Retry\",\"caseSensitive\":false,\"cardAnnouncement\":\"Incorrect answer. Correct answer was @answer\",\"pageAnnouncement\":\"Page @current of @total\",\"description\":\"Match the Hole with the Course\"}",
"slug": "famous-golf-holes",
"embed_type": "div",
"disable": 9,
"content_type": null,
"authors": null,
"source": null,
"year_from": null,
"year_to": null,
"license": "U",
"license_version": null,
"license_extras": null,
"author_comments": null,
"changes": null,
"default_language": null
},
"is_public": false,
"created_at": null,
"updated_at": null
}
],
"created_at": null,
"updated_at": null
}
}
Received response:
Request failed with error:
Clone Activity
Clone the specified activity of a playlist.
Example request:
curl --request POST \
"http://localhost:8000/api/v1/playlists/186/activities/761/clone" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/playlists/186/activities/761/clone"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/playlists/186/activities/761/clone',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "Activity is being cloned|duplicated in background!"
}
Example response (400):
{
"errors": [
"Not a Public Activity."
]
}
Example response (500):
{
"errors": [
"Failed to clone activity."
]
}
Received response:
Request failed with error:
Upload Activity thumbnail
Upload thumbnail image for a activity
Example request:
curl --request POST \
"http://localhost:8000/api/v1/activities/upload-thumb" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"thumb\": \"(binary)\"
}"
const url = new URL(
"http://localhost:8000/api/v1/activities/upload-thumb"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"thumb": "(binary)"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/activities/upload-thumb',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'thumb' => '(binary)',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"thumbUrl": "/storage/activities/1fqwe2f65ewf465qwe46weef5w5eqwq.png"
}
Example response (400):
{
"errors": [
"Invalid image."
]
}
Received response:
Request failed with error:
Share Activity
Share the specified activity.
GET api/v1/activities/update-order
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/activities/update-order" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/activities/update-order"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/activities/update-order',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (500):
Show headers
cache-control: no-cache, private
content-type: application/json
{
"message": "Unable to read key from file file://D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\storage\\oauth-public.key",
"exception": "LogicException",
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\league\\oauth2-server\\src\\CryptKey.php",
"line": 67,
"trace": [
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\passport\\src\\PassportServiceProvider.php",
"line": 275,
"function": "__construct",
"class": "League\\OAuth2\\Server\\CryptKey",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\passport\\src\\PassportServiceProvider.php",
"line": 256,
"function": "makeCryptKey",
"class": "Laravel\\Passport\\PassportServiceProvider",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 873,
"function": "Laravel\\Passport\\{closure}",
"class": "Laravel\\Passport\\PassportServiceProvider",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 758,
"function": "build",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Application.php",
"line": 851,
"function": "resolve",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 694,
"function": "resolve",
"class": "Illuminate\\Foundation\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Application.php",
"line": 836,
"function": "make",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\passport\\src\\PassportServiceProvider.php",
"line": 304,
"function": "make",
"class": "Illuminate\\Foundation\\Application",
"type": "->"
},
{
"function": "Laravel\\Passport\\{closure}",
"class": "Laravel\\Passport\\PassportServiceProvider",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\RequestGuard.php",
"line": 58,
"function": "call_user_func"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\GuardHelpers.php",
"line": 60,
"function": "user",
"class": "Illuminate\\Auth\\RequestGuard",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\Middleware\\Authenticate.php",
"line": 63,
"function": "check",
"class": "Illuminate\\Auth\\RequestGuard",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\Middleware\\Authenticate.php",
"line": 42,
"function": "authenticate",
"class": "Illuminate\\Auth\\Middleware\\Authenticate",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Auth\\Middleware\\Authenticate",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 103,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 723,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 698,
"function": "runRouteWithinStack",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 662,
"function": "runRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 651,
"function": "dispatchToRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 167,
"function": "dispatch",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 128,
"function": "Illuminate\\Foundation\\Http\\{closure}",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull.php",
"line": 31,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TrimStrings.php",
"line": 40,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TrimStrings",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize.php",
"line": 27,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance.php",
"line": 86,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\app\\Http\\Middleware\\Cors.php",
"line": 40,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "App\\Http\\Middleware\\Cors",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\fideloper\\proxy\\src\\TrustProxies.php",
"line": 57,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Fideloper\\Proxy\\TrustProxies",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 103,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 142,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 111,
"function": "sendRequestThroughRouter",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 299,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 287,
"function": "callLaravelOrLumenRoute",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 89,
"function": "makeApiCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 45,
"function": "makeResponseCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 35,
"function": "makeResponseCallIfConditionsPass",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 222,
"function": "__invoke",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 179,
"function": "iterateThroughStrategies",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 116,
"function": "fetchResponses",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 123,
"function": "processRoute",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 80,
"function": "extractEndpointsInfoFromLaravelApp",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 56,
"function": "extractEndpointsInfoAndWriteToDisk",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Commands\\GenerateDocumentation.php",
"line": 55,
"function": "get",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 36,
"function": "handle",
"class": "Knuckles\\Scribe\\Commands\\GenerateDocumentation",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Util.php",
"line": 40,
"function": "Illuminate\\Container\\{closure}",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 93,
"function": "unwrapIfClosure",
"class": "Illuminate\\Container\\Util",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 37,
"function": "callBoundMethod",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 653,
"function": "call",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
"line": 136,
"function": "call",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Command\\Command.php",
"line": 298,
"function": "execute",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
"line": 121,
"function": "run",
"class": "Symfony\\Component\\Console\\Command\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 1040,
"function": "run",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 301,
"function": "doRunCommand",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 171,
"function": "doRun",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Application.php",
"line": 94,
"function": "run",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Console\\Kernel.php",
"line": 129,
"function": "run",
"class": "Illuminate\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\artisan",
"line": 37,
"function": "handle",
"class": "Illuminate\\Foundation\\Console\\Kernel",
"type": "->"
}
]
}
Received response:
Request failed with error:
Remove Share Activity
Remove share the specified activity.
Get Activity Detail
Get the specified activity in detail.
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/activities/761/detail" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/activities/761/detail"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/activities/761/detail',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"activity": {
"id": 1,
"playlist": {
"id": 1,
"title": "The Engineering & Design Behind Golf Balls",
"is_public": true,
"order": 0,
"project_id": 1,
"project": {
"id": 1,
"name": "The Science of Golf",
"description": "Uncover the science, technology, engineering, and mathematics behind the game of golf.",
"thumb_url": "/storage/projects/nN5y8v8zh2ghxrKuHCv5wvJOREFw0Nr27s2DPxWq.png",
"starter_project": false,
"shared": false,
"is_public": true,
"users": [
{
"id": 1,
"email": "john.doe@currikistudio.org",
"first_name": "John",
"last_name": "Doe",
"role": "owner"
}
],
"created_at": "2020-04-30T20:03:12.000000Z",
"updated_at": "2020-07-11T12:51:07.000000Z"
},
"created_at": "2020-04-30T20:03:12.000000Z",
"updated_at": "2020-07-11T12:51:07.000000Z"
},
"title": "Science of Golf: Why Balls Have Dimples",
"type": "h5p",
"content": "",
"shared": false,
"order": 2,
"thumb_url": null,
"subjects": [
{
"id": 4,
"name": "English",
"order": 3,
"created_at": "2022-01-06T11:59:52.000000Z",
"updated_at": "2022-01-06T12:15:10.000000Z"
},
{
"id": 1,
"name": "Math",
"order": 1,
"created_at": "2022-01-06T11:41:46.000000Z",
"updated_at": "2022-01-06T11:41:46.000000Z"
}
],
"education_levels": [
{
"id": 1,
"name": "Grade A",
"order": 5,
"created_at": "2022-01-07T13:51:38.000000Z",
"updated_at": "2022-01-07T14:07:17.000000Z"
},
{
"id": 1,
"name": "Grade B",
"order": 6,
"created_at": "2022-01-07T13:51:38.000000Z",
"updated_at": "2022-01-07T14:07:17.000000Z"
}
],
"author_tags": [
{
"id": 1,
"name": "Audio",
"order": 1,
"created_at": "2022-01-10T13:09:36.000000Z",
"updated_at": "2022-01-10T13:09:36.000000Z"
},
{
"id": 2,
"name": "Video",
"order": 2,
"created_at": "2022-01-10T13:09:44.000000Z",
"updated_at": "2022-01-10T13:20:57.000000Z"
}
],
"h5p": "{\"params\":{\"interactiveVideo\":{\"video\":{\"startScreenOptions\":{\"title\":\"Interactive Video\",\"hideStartTitle\":false},\"textTracks\":{\"videoTrack\":[{\"label\":\"Subtitles\",\"kind\":\"subtitles\",\"srcLang\":\"en\"}]},\"files\":[{\"path\":\"https://youtu.be/fcjaxC-e8oY\",\"mime\":\"video/YouTube\",\"copyright\":{\"license\":\"U\"}}]},\"assets\":{\"interactions\":[{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":58.33,\"to\":68.33},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"133bca3d-cfe9-442d-a887-8bf1e2ce682a\",\"question\":\"<p>Why do golf balls have dimples?</p>\\n\",\"answers\":[\"<p>They reduce wind resistance.</p>\\n\",\"<p>They make the ball more visually interesting.</p>\\n\",\"<p>They grip the putting green better than a smooth ball.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"ac029b43-7225-49ed-a2d7-8656037748e0\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Why do golf balls have dimples?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Why do golf balls have dimples?</p>\\n\"},{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":132.969,\"to\":142.969},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"308503f3-8d41-4f4f-b016-587bcce3dfac\",\"question\":\"<p>A smooth ball will have a detached airflow, which causes what?</p>\\n\",\"answers\":[\"<p>A low pressure zone, which is what causes drag.</p>\\n\",\"<p>The ball has no spin.</p>\\n\",\"<p>The ball travels higher, but for a shorter distance.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"f70c849d-9542-4f30-9116-8b60b7da708d\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Smooth Ball?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Smooth Ball</p>\\n\"}],\"endscreens\":[{\"time\":295,\"label\":\"4:55 Submit screen\"}]},\"summary\":{\"task\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"8e2cf84f-4557-4f79-a03e-526838498a7d\",\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"8d5527ef-3601-4ad9-9e63-2782c9775173\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\"}},\"displayAt\":3}},\"override\":{\"autoplay\":false,\"loop\":false,\"showBookmarksmenuOnLoad\":false,\"showRewind10\":false,\"preventSkipping\":false,\"deactivateSound\":false},\"l10n\":{\"interaction\":\"Interaction\",\"play\":\"Play\",\"pause\":\"Pause\",\"mute\":\"Mute\",\"unmute\":\"Unmute\",\"quality\":\"Video Quality\",\"captions\":\"Captions\",\"close\":\"Close\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit Fullscreen\",\"summary\":\"Open summary dialog\",\"bookmarks\":\"Bookmarks\",\"endscreen\":\"Submit screen\",\"defaultAdaptivitySeekLabel\":\"Continue\",\"continueWithVideo\":\"Continue with video\",\"playbackRate\":\"Playback Rate\",\"rewind10\":\"Rewind 10 Seconds\",\"navDisabled\":\"Navigation is disabled\",\"sndDisabled\":\"Sound is disabled\",\"requiresCompletionWarning\":\"You need to answer all the questions correctly before continuing.\",\"back\":\"Back\",\"hours\":\"Hours\",\"minutes\":\"Minutes\",\"seconds\":\"Seconds\",\"currentTime\":\"Current time:\",\"totalTime\":\"Total time:\",\"singleInteractionAnnouncement\":\"Interaction appeared:\",\"multipleInteractionsAnnouncement\":\"Multiple interactions appeared.\",\"videoPausedAnnouncement\":\"Video is paused\",\"content\":\"Content\",\"answered\":\"@answered answered\",\"endcardTitle\":\"@answered Question(s) answered\",\"endcardInformation\":\"You have answered @answered questions, click below to submit your answers.\",\"endcardInformationNoAnswers\":\"You have not answered any questions.\",\"endcardInformationMustHaveAnswer\":\"You have to answer at least one question before you can submit your answers.\",\"endcardSubmitButton\":\"Submit Answers\",\"endcardSubmitMessage\":\"Your answers have been submitted!\",\"endcardTableRowAnswered\":\"Answered questions\",\"endcardTableRowScore\":\"Score\",\"endcardAnsweredScore\":\"answered\",\"endCardTableRowSummaryWithScore\":\"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\"endCardTableRowSummaryWithoutScore\":\"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\"}},\"metadata\":{\"title\":\"Science of Golf: Why Balls Have Dimples\",\"license\":\"U\"}}",
"h5p_content": {
"id": 59,
"user_id": 1,
"title": "Science of Golf: Why Balls Have Dimples",
"library_id": 40,
"parameters": "{\"interactiveVideo\":{\"video\":{\"startScreenOptions\":{\"title\":\"Interactive Video\",\"hideStartTitle\":false},\"textTracks\":{\"videoTrack\":[{\"label\":\"Subtitles\",\"kind\":\"subtitles\",\"srcLang\":\"en\"}]},\"files\":[{\"path\":\"https://youtu.be/fcjaxC-e8oY\",\"mime\":\"video/YouTube\",\"copyright\":{\"license\":\"U\"},\"aspectRatio\":\"16:9\"}]},\"assets\":{\"interactions\":[{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":58.33,\"to\":68.33},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"133bca3d-cfe9-442d-a887-8bf1e2ce682a\",\"question\":\"<p>Why do golf balls have dimples?</p>\\n\",\"answers\":[\"<p>They reduce wind resistance.</p>\\n\",\"<p>They make the ball more visually interesting.</p>\\n\",\"<p>They grip the putting green better than a smooth ball.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"ac029b43-7225-49ed-a2d7-8656037748e0\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Why do golf balls have dimples?\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Why do golf balls have dimples?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Why do golf balls have dimples?</p>\\n\"},{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":132.969,\"to\":142.969},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"308503f3-8d41-4f4f-b016-587bcce3dfac\",\"question\":\"<p>A smooth ball will have a detached airflow, which causes what?</p>\\n\",\"answers\":[\"<p>A low pressure zone, which is what causes drag.</p>\\n\",\"<p>The ball has no spin.</p>\\n\",\"<p>The ball travels higher, but for a shorter distance.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"f70c849d-9542-4f30-9116-8b60b7da708d\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Smooth Ball?\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Smooth Ball?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Smooth Ball</p>\\n\"}],\"bookmarks\":[],\"endscreens\":[{\"time\":295,\"label\":\"4:55 Submit screen\"}]},\"summary\":{\"task\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"8e2cf84f-4557-4f79-a03e-526838498a7d\",\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"8d5527ef-3601-4ad9-9e63-2782c9775173\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Untitled Summary\"}},\"displayAt\":3}},\"override\":{\"autoplay\":false,\"loop\":false,\"showBookmarksmenuOnLoad\":false,\"showRewind10\":false,\"preventSkipping\":false,\"deactivateSound\":false},\"l10n\":{\"interaction\":\"Interaction\",\"play\":\"Play\",\"pause\":\"Pause\",\"mute\":\"Mute\",\"unmute\":\"Unmute\",\"quality\":\"Video Quality\",\"captions\":\"Captions\",\"close\":\"Close\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit Fullscreen\",\"summary\":\"Open summary dialog\",\"bookmarks\":\"Bookmarks\",\"endscreen\":\"Submit screen\",\"defaultAdaptivitySeekLabel\":\"Continue\",\"continueWithVideo\":\"Continue with video\",\"playbackRate\":\"Playback Rate\",\"rewind10\":\"Rewind 10 Seconds\",\"navDisabled\":\"Navigation is disabled\",\"sndDisabled\":\"Sound is disabled\",\"requiresCompletionWarning\":\"You need to answer all the questions correctly before continuing.\",\"back\":\"Back\",\"hours\":\"Hours\",\"minutes\":\"Minutes\",\"seconds\":\"Seconds\",\"currentTime\":\"Current time:\",\"totalTime\":\"Total time:\",\"singleInteractionAnnouncement\":\"Interaction appeared:\",\"multipleInteractionsAnnouncement\":\"Multiple interactions appeared.\",\"videoPausedAnnouncement\":\"Video is paused\",\"content\":\"Content\",\"answered\":\"@answered answered\",\"endcardTitle\":\"@answered Question(s) answered\",\"endcardInformation\":\"You have answered @answered questions, click below to submit your answers.\",\"endcardInformationNoAnswers\":\"You have not answered any questions.\",\"endcardInformationMustHaveAnswer\":\"You have to answer at least one question before you can submit your answers.\",\"endcardSubmitButton\":\"Submit Answers\",\"endcardSubmitMessage\":\"Your answers have been submitted!\",\"endcardTableRowAnswered\":\"Answered questions\",\"endcardTableRowScore\":\"Score\",\"endcardAnsweredScore\":\"answered\",\"endCardTableRowSummaryWithScore\":\"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\"endCardTableRowSummaryWithoutScore\":\"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\"}}",
"filtered": "{\"interactiveVideo\":{\"video\":{\"startScreenOptions\":{\"title\":\"Interactive Video\",\"hideStartTitle\":false},\"textTracks\":{\"videoTrack\":[{\"label\":\"Subtitles\",\"kind\":\"subtitles\",\"srcLang\":\"en\"}]},\"files\":[{\"path\":\"https://youtu.be/fcjaxC-e8oY\",\"mime\":\"video/YouTube\",\"copyright\":{\"license\":\"U\"}}]},\"assets\":{\"interactions\":[{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":58.33,\"to\":68.33},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"133bca3d-cfe9-442d-a887-8bf1e2ce682a\",\"question\":\"<p>Why do golf balls have dimples?</p>\\n\",\"answers\":[\"<p>They reduce wind resistance.</p>\\n\",\"<p>They make the ball more visually interesting.</p>\\n\",\"<p>They grip the putting green better than a smooth ball.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"ac029b43-7225-49ed-a2d7-8656037748e0\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Why do golf balls have dimples?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Why do golf balls have dimples?</p>\\n\"},{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":132.969,\"to\":142.969},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"308503f3-8d41-4f4f-b016-587bcce3dfac\",\"question\":\"<p>A smooth ball will have a detached airflow, which causes what?</p>\\n\",\"answers\":[\"<p>A low pressure zone, which is what causes drag.</p>\\n\",\"<p>The ball has no spin.</p>\\n\",\"<p>The ball travels higher, but for a shorter distance.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"f70c849d-9542-4f30-9116-8b60b7da708d\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Smooth Ball?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Smooth Ball</p>\\n\"}],\"endscreens\":[{\"time\":295,\"label\":\"4:55 Submit screen\"}]},\"summary\":{\"task\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"8e2cf84f-4557-4f79-a03e-526838498a7d\",\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"8d5527ef-3601-4ad9-9e63-2782c9775173\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\"}},\"displayAt\":3}},\"override\":{\"autoplay\":false,\"loop\":false,\"showBookmarksmenuOnLoad\":false,\"showRewind10\":false,\"preventSkipping\":false,\"deactivateSound\":false},\"l10n\":{\"interaction\":\"Interaction\",\"play\":\"Play\",\"pause\":\"Pause\",\"mute\":\"Mute\",\"unmute\":\"Unmute\",\"quality\":\"Video Quality\",\"captions\":\"Captions\",\"close\":\"Close\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit Fullscreen\",\"summary\":\"Open summary dialog\",\"bookmarks\":\"Bookmarks\",\"endscreen\":\"Submit screen\",\"defaultAdaptivitySeekLabel\":\"Continue\",\"continueWithVideo\":\"Continue with video\",\"playbackRate\":\"Playback Rate\",\"rewind10\":\"Rewind 10 Seconds\",\"navDisabled\":\"Navigation is disabled\",\"sndDisabled\":\"Sound is disabled\",\"requiresCompletionWarning\":\"You need to answer all the questions correctly before continuing.\",\"back\":\"Back\",\"hours\":\"Hours\",\"minutes\":\"Minutes\",\"seconds\":\"Seconds\",\"currentTime\":\"Current time:\",\"totalTime\":\"Total time:\",\"singleInteractionAnnouncement\":\"Interaction appeared:\",\"multipleInteractionsAnnouncement\":\"Multiple interactions appeared.\",\"videoPausedAnnouncement\":\"Video is paused\",\"content\":\"Content\",\"answered\":\"@answered answered\",\"endcardTitle\":\"@answered Question(s) answered\",\"endcardInformation\":\"You have answered @answered questions, click below to submit your answers.\",\"endcardInformationNoAnswers\":\"You have not answered any questions.\",\"endcardInformationMustHaveAnswer\":\"You have to answer at least one question before you can submit your answers.\",\"endcardSubmitButton\":\"Submit Answers\",\"endcardSubmitMessage\":\"Your answers have been submitted!\",\"endcardTableRowAnswered\":\"Answered questions\",\"endcardTableRowScore\":\"Score\",\"endcardAnsweredScore\":\"answered\",\"endCardTableRowSummaryWithScore\":\"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\"endCardTableRowSummaryWithoutScore\":\"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\"}}",
"slug": "science-of-golf-why-balls-have-dimples",
"embed_type": "div",
"disable": 9,
"content_type": null,
"authors": null,
"source": null,
"year_from": null,
"year_to": null,
"license": "U",
"license_version": null,
"license_extras": null,
"author_comments": null,
"changes": null,
"default_language": null,
"library": {
"id": 40,
"created_at": null,
"updated_at": null,
"name": "H5P.InteractiveVideo",
"title": "Interactive Video",
"major_version": 1,
"minor_version": 21,
"patch_version": 9,
"runnable": 1,
"restricted": 0,
"fullscreen": 1,
"embed_types": "iframe",
"preloaded_js": "dist/h5p-interactive-video.js",
"preloaded_css": "dist/h5p-interactive-video.css",
"drop_library_css": "",
"semantics": "[\n {\n \"name\": \"interactiveVideo\",\n \"type\": \"group\",\n \"widget\": \"wizard\",\n \"label\": \"Interactive Video Editor\",\n \"importance\": \"high\",\n \"fields\": [\n {\n \"name\": \"video\",\n \"type\": \"group\",\n \"label\": \"Upload/embed video\",\n \"importance\": \"high\",\n \"fields\": [\n {\n \"name\": \"files\",\n \"type\": \"video\",\n \"label\": \"Add a video\",\n \"importance\": \"high\",\n \"description\": \"Click below to add a video you wish to use in your interactive video. You can add a video link or upload video files. It is possible to add several versions of the video with different qualities. To ensure maximum support in browsers at least add a version in webm and mp4 formats.\",\n \"extraAttributes\": [\n \"metadata\"\n ],\n \"enableCustomQualityLabel\": true\n },\n {\n \"name\": \"startScreenOptions\",\n \"type\": \"group\",\n \"label\": \"Start screen options (unsupported for YouTube videos)\",\n \"importance\": \"low\",\n \"fields\": [\n {\n \"name\": \"title\",\n \"type\": \"text\",\n \"label\": \"The title of this interactive video\",\n \"importance\": \"low\",\n \"maxLength\": 60,\n \"default\": \"Interactive Video\",\n \"description\": \"Used in summaries, statistics etc.\"\n },\n {\n \"name\": \"hideStartTitle\",\n \"type\": \"boolean\",\n \"label\": \"Hide title on video start screen\",\n \"importance\": \"low\",\n \"optional\": true,\n \"default\": false\n },\n {\n \"name\": \"shortStartDescription\",\n \"type\": \"text\",\n \"label\": \"Short description (Optional)\",\n \"importance\": \"low\",\n \"optional\": true,\n \"maxLength\": 120,\n \"description\": \"Optional. Display a short description text on the video start screen. Does not work for YouTube videos.\"\n },\n {\n \"name\": \"poster\",\n \"type\": \"image\",\n \"label\": \"Poster image\",\n \"importance\": \"low\",\n \"optional\": true,\n \"description\": \"Image displayed before the user launches the video. Does not work for YouTube Videos.\"\n }\n ]\n },\n {\n \"name\": \"textTracks\",\n \"type\": \"group\",\n \"label\": \"Text tracks (unsupported for YouTube videos)\",\n \"importance\": \"low\",\n \"fields\": [\n {\n \"name\": \"videoTrack\",\n \"type\": \"list\",\n \"label\": \"Available text tracks\",\n \"importance\": \"low\",\n \"optional\": true,\n \"entity\": \"Track\",\n \"min\": 0,\n \"defaultNum\": 1,\n \"field\": {\n \"name\": \"track\",\n \"type\": \"group\",\n \"label\": \"Track\",\n \"importance\": \"low\",\n \"expanded\": false,\n \"fields\": [\n {\n \"name\": \"label\",\n \"type\": \"text\",\n \"label\": \"Track label\",\n \"description\": \"Used if you offer multiple tracks and the user has to choose a track. For instance 'Spanish subtitles' could be the label of a Spanish subtitle track.\",\n \"importance\": \"low\",\n \"default\": \"Subtitles\",\n \"optional\": true\n },\n {\n \"name\": \"kind\",\n \"type\": \"select\",\n \"label\": \"Type of text track\",\n \"importance\": \"low\",\n \"default\": \"subtitles\",\n \"options\": [\n {\n \"value\": \"subtitles\",\n \"label\": \"Subtitles\"\n },\n {\n \"value\": \"captions\",\n \"label\": \"Captions\"\n },\n {\n \"value\": \"descriptions\",\n \"label\": \"Descriptions\"\n }\n ]\n },\n {\n \"name\": \"srcLang\",\n \"type\": \"text\",\n \"label\": \"Source language, must be defined for subtitles\",\n \"importance\": \"low\",\n \"default\": \"en\",\n \"description\": \"Must be a valid BCP 47 language tag. If 'Subtitles' is the type of text track selected, the source language of the track must be defined.\"\n },\n {\n \"name\": \"track\",\n \"type\": \"file\",\n \"label\": \"Track source (WebVTT file)\",\n \"importance\": \"low\"\n }\n ]\n }\n },\n {\n \"name\": \"defaultTrackLabel\",\n \"type\": \"text\",\n \"label\": \"Default text track\",\n \"description\": \"If left empty or not matching any of the text tracks the first text track will be used as the default.\",\n \"importance\": \"low\",\n \"optional\": true\n }\n ]\n }\n ]\n },\n {\n \"name\": \"assets\",\n \"type\": \"group\",\n \"label\": \"Add interactions\",\n \"importance\": \"high\",\n \"widget\": \"interactiveVideo\",\n \"video\": \"video/files\",\n \"poster\": \"video/startScreenOptions/poster\",\n \"fields\": [\n {\n \"name\": \"interactions\",\n \"type\": \"list\",\n \"field\": {\n \"name\": \"interaction\",\n \"type\": \"group\",\n \"fields\": [\n {\n \"name\": \"duration\",\n \"type\": \"group\",\n \"widget\": \"duration\",\n \"label\": \"Display time\",\n \"importance\": \"low\",\n \"fields\": [\n {\n \"name\": \"from\",\n \"type\": \"number\"\n },\n {\n \"name\": \"to\",\n \"type\": \"number\"\n }\n ]\n },\n {\n \"name\": \"pause\",\n \"label\": \"Pause video\",\n \"importance\": \"low\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"displayType\",\n \"label\": \"Display as\",\n \"importance\": \"low\",\n \"description\": \"<b>Button</b> is a collapsed interaction the user must press to open. <b>Poster</b> is an expanded interaction displayed directly on top of the video\",\n \"type\": \"select\",\n \"widget\": \"imageRadioButtonGroup\",\n \"options\": [\n {\n \"value\": \"button\",\n \"label\": \"Button\"\n },\n {\n \"value\": \"poster\",\n \"label\": \"Poster\"\n }\n ],\n \"default\": \"button\"\n },\n {\n \"name\": \"buttonOnMobile\",\n \"label\": \"Turn into button on small screens\",\n \"importance\": \"low\",\n \"type\": \"boolean\",\n \"default\": false\n },\n {\n \"name\": \"label\",\n \"type\": \"text\",\n \"widget\": \"html\",\n \"label\": \"Label\",\n \"importance\": \"low\",\n \"description\": \"Label displayed next to interaction icon.\",\n \"optional\": true,\n \"enterMode\": \"p\",\n \"tags\": [\n \"p\"\n ]\n },\n {\n \"name\": \"x\",\n \"type\": \"number\",\n \"importance\": \"low\",\n \"widget\": \"none\"\n },\n {\n \"name\": \"y\",\n \"type\": \"number\",\n \"importance\": \"low\",\n \"widget\": \"none\"\n },\n {\n \"name\": \"width\",\n \"type\": \"number\",\n \"widget\": \"none\",\n \"importance\": \"low\",\n \"optional\": true\n },\n {\n \"name\": \"height\",\n \"type\": \"number\",\n \"widget\": \"none\",\n \"importance\": \"low\",\n \"optional\": true\n },\n {\n \"name\": \"libraryTitle\",\n \"type\": \"text\",\n \"importance\": \"low\",\n \"optional\": true,\n \"widget\": \"none\"\n },\n {\n \"name\": \"action\",\n \"type\": \"library\",\n \"importance\": \"low\",\n \"options\": [\n \"H5P.Nil 1.0\",\n \"H5P.Text 1.1\",\n \"H5P.Table 1.1\",\n \"H5P.Link 1.3\",\n \"H5P.Image 1.1\",\n \"H5P.Summary 1.10\",\n \"H5P.SingleChoiceSet 1.11\",\n \"H5P.MultiChoice 1.14\",\n \"H5P.TrueFalse 1.6\",\n \"H5P.Blanks 1.12\",\n \"H5P.DragQuestion 1.13\",\n \"H5P.MarkTheWords 1.9\",\n \"H5P.DragText 1.8\",\n \"H5P.GoToQuestion 1.3\",\n \"H5P.IVHotspot 1.2\",\n \"H5P.Questionnaire 1.2\",\n \"H5P.FreeTextQuestion 1.0\"\n ]\n },\n {\n \"name\": \"adaptivity\",\n \"type\": \"group\",\n \"label\": \"Adaptivity\",\n \"importance\": \"low\",\n \"optional\": true,\n \"fields\": [\n {\n \"name\": \"correct\",\n \"type\": \"group\",\n \"label\": \"Action on all correct\",\n \"fields\": [\n {\n \"name\": \"seekTo\",\n \"type\": \"number\",\n \"widget\": \"timecode\",\n \"label\": \"Seek to\",\n \"description\": \"Enter timecode in the format M:SS\"\n },\n {\n \"name\": \"allowOptOut\",\n \"type\": \"boolean\",\n \"label\": \"Allow the user to opt out and continue\"\n },\n {\n \"name\": \"message\",\n \"type\": \"text\",\n \"widget\": \"html\",\n \"enterMode\": \"p\",\n \"tags\": [\n \"strong\",\n \"em\",\n \"del\",\n \"a\",\n \"code\"\n ],\n \"label\": \"Message\"\n },\n {\n \"name\": \"seekLabel\",\n \"type\": \"text\",\n \"label\": \"Label for seek button\"\n }\n ]\n },\n {\n \"name\": \"wrong\",\n \"type\": \"group\",\n \"label\": \"Action on wrong\",\n \"fields\": [\n {\n \"name\": \"seekTo\",\n \"type\": \"number\",\n \"widget\": \"timecode\",\n \"label\": \"Seek to\",\n \"description\": \"Enter timecode in the format M:SS\"\n },\n {\n \"name\": \"allowOptOut\",\n \"type\": \"boolean\",\n \"label\": \"Allow the user to opt out and continue\"\n },\n {\n \"name\": \"message\",\n \"type\": \"text\",\n \"widget\": \"html\",\n \"enterMode\": \"p\",\n \"tags\": [\n \"strong\",\n \"em\",\n \"del\",\n \"a\",\n \"code\"\n ],\n \"label\": \"Message\"\n },\n {\n \"name\": \"seekLabel\",\n \"type\": \"text\",\n \"label\": \"Label for seek button\"\n }\n ]\n },\n {\n \"name\": \"requireCompletion\",\n \"type\": \"boolean\",\n \"label\": \"Require full score for task before proceeding\",\n \"description\": \"For best functionality this option should be used in conjunction with the \\\"Prevent skipping forward in a video\\\" option of Interactive Video.\"\n }\n ]\n },\n {\n \"name\": \"visuals\",\n \"label\": \"Visuals\",\n \"importance\": \"low\",\n \"type\": \"group\",\n \"fields\": [\n {\n \"name\": \"backgroundColor\",\n \"type\": \"text\",\n \"label\": \"Background color\",\n \"widget\": \"colorSelector\",\n \"default\": \"rgb(255, 255, 255)\",\n \"spectrum\": {\n \"showInput\": true,\n \"showAlpha\": true,\n \"preferredFormat\": \"rgb\",\n \"showPalette\": true,\n \"palette\": [\n [\n \"rgba(0, 0, 0, 0)\"\n ],\n [\n \"rgb(67, 67, 67)\",\n \"rgb(102, 102, 102)\",\n \"rgb(204, 204, 204)\",\n \"rgb(217, 217, 217)\",\n \"rgb(255, 255, 255)\"\n ],\n [\n \"rgb(152, 0, 0)\",\n \"rgb(255, 0, 0)\",\n \"rgb(255, 153, 0)\",\n \"rgb(255, 255, 0)\",\n \"rgb(0, 255, 0)\",\n \"rgb(0, 255, 255)\",\n \"rgb(74, 134, 232)\",\n \"rgb(0, 0, 255)\",\n \"rgb(153, 0, 255)\",\n \"rgb(255, 0, 255)\"\n ],\n [\n \"rgb(230, 184, 175)\",\n \"rgb(244, 204, 204)\",\n \"rgb(252, 229, 205)\",\n \"rgb(255, 242, 204)\",\n \"rgb(217, 234, 211)\",\n \"rgb(208, 224, 227)\",\n \"rgb(201, 218, 248)\",\n \"rgb(207, 226, 243)\",\n \"rgb(217, 210, 233)\",\n \"rgb(234, 209, 220)\",\n \"rgb(221, 126, 107)\",\n \"rgb(234, 153, 153)\",\n \"rgb(249, 203, 156)\",\n \"rgb(255, 229, 153)\",\n \"rgb(182, 215, 168)\",\n \"rgb(162, 196, 201)\",\n \"rgb(164, 194, 244)\",\n \"rgb(159, 197, 232)\",\n \"rgb(180, 167, 214)\",\n \"rgb(213, 166, 189)\",\n \"rgb(204, 65, 37)\",\n \"rgb(224, 102, 102)\",\n \"rgb(246, 178, 107)\",\n \"rgb(255, 217, 102)\",\n \"rgb(147, 196, 125)\",\n \"rgb(118, 165, 175)\",\n \"rgb(109, 158, 235)\",\n \"rgb(111, 168, 220)\",\n \"rgb(142, 124, 195)\",\n \"rgb(194, 123, 160)\",\n \"rgb(166, 28, 0)\",\n \"rgb(204, 0, 0)\",\n \"rgb(230, 145, 56)\",\n \"rgb(241, 194, 50)\",\n \"rgb(106, 168, 79)\",\n \"rgb(69, 129, 142)\",\n \"rgb(60, 120, 216)\",\n \"rgb(61, 133, 198)\",\n \"rgb(103, 78, 167)\",\n \"rgb(166, 77, 121)\",\n \"rgb(91, 15, 0)\",\n \"rgb(102, 0, 0)\",\n \"rgb(120, 63, 4)\",\n \"rgb(127, 96, 0)\",\n \"rgb(39, 78, 19)\",\n \"rgb(12, 52, 61)\",\n \"rgb(28, 69, 135)\",\n \"rgb(7, 55, 99)\",\n \"rgb(32, 18, 77)\",\n \"rgb(76, 17, 48)\"\n ]\n ]\n }\n },\n {\n \"name\": \"boxShadow\",\n \"type\": \"boolean\",\n \"label\": \"Box shadow\",\n \"default\": true,\n \"description\": \"Adds a subtle shadow around the interaction. You might want to disable this for completely transparent interactions\"\n }\n ]\n },\n {\n \"name\": \"goto\",\n \"label\": \"Go to on click\",\n \"importance\": \"low\",\n \"type\": \"group\",\n \"fields\": [\n {\n \"name\": \"type\",\n \"label\": \"Type\",\n \"type\": \"select\",\n \"widget\": \"selectToggleFields\",\n \"options\": [\n {\n \"value\": \"timecode\",\n \"label\": \"Timecode\",\n \"hideFields\": [\n \"url\"\n ]\n },\n {\n \"value\": \"url\",\n \"label\": \"Another page (URL)\",\n \"hideFields\": [\n \"time\"\n ]\n }\n ],\n \"optional\": true\n },\n {\n \"name\": \"time\",\n \"type\": \"number\",\n \"widget\": \"timecode\",\n \"label\": \"Go To\",\n \"description\": \"The target time the user will be taken to upon pressing the hotspot. Enter timecode in the format M:SS.\",\n \"optional\": true\n },\n {\n \"name\": \"url\",\n \"type\": \"group\",\n \"label\": \"URL\",\n \"widget\": \"linkWidget\",\n \"optional\": true,\n \"fields\": [\n {\n \"name\": \"protocol\",\n \"type\": \"select\",\n \"label\": \"Protocol\",\n \"options\": [\n {\n \"value\": \"http://\",\n \"label\": \"http://\"\n },\n {\n \"value\": \"https://\",\n \"label\": \"https://\"\n },\n {\n \"value\": \"/\",\n \"label\": \"(root relative)\"\n },\n {\n \"value\": \"other\",\n \"label\": \"other\"\n }\n ],\n \"optional\": true,\n \"default\": \"http://\"\n },\n {\n \"name\": \"url\",\n \"type\": \"text\",\n \"label\": \"URL\",\n \"optional\": true\n }\n ]\n },\n {\n \"name\": \"visualize\",\n \"type\": \"boolean\",\n \"label\": \"Visualize\",\n \"description\": \"Show that interaction can be clicked by adding a border and an icon\"\n }\n ]\n }\n ]\n }\n },\n {\n \"name\": \"bookmarks\",\n \"importance\": \"low\",\n \"type\": \"list\",\n \"field\": {\n \"name\": \"bookmark\",\n \"type\": \"group\",\n \"fields\": [\n {\n \"name\": \"time\",\n \"type\": \"number\"\n },\n {\n \"name\": \"label\",\n \"type\": \"text\"\n }\n ]\n }\n },\n {\n \"name\": \"endscreens\",\n \"importance\": \"low\",\n \"type\": \"list\",\n \"field\": {\n \"name\": \"endscreen\",\n \"type\": \"group\",\n \"fields\": [\n {\n \"name\": \"time\",\n \"type\": \"number\"\n },\n {\n \"name\": \"label\",\n \"type\": \"text\"\n }\n ]\n }\n }\n ]\n },\n {\n \"name\": \"summary\",\n \"type\": \"group\",\n \"label\": \"Summary task\",\n \"importance\": \"high\",\n \"fields\": [\n {\n \"name\": \"task\",\n \"type\": \"library\",\n \"options\": [\n \"H5P.Summary 1.10\"\n ],\n \"default\": {\n \"library\": \"H5P.Summary 1.10\",\n \"params\": {}\n }\n },\n {\n \"name\": \"displayAt\",\n \"type\": \"number\",\n \"label\": \"Display at\",\n \"description\": \"Number of seconds before the video ends.\",\n \"default\": 3\n }\n ]\n }\n ]\n },\n {\n \"name\": \"override\",\n \"type\": \"group\",\n \"label\": \"Behavioural settings\",\n \"importance\": \"low\",\n \"optional\": true,\n \"fields\": [\n {\n \"name\": \"startVideoAt\",\n \"type\": \"number\",\n \"widget\": \"timecode\",\n \"label\": \"Start video at\",\n \"importance\": \"low\",\n \"optional\": true,\n \"description\": \"Enter timecode in the format M:SS\"\n },\n {\n \"name\": \"autoplay\",\n \"type\": \"boolean\",\n \"label\": \"Auto-play video\",\n \"default\": false,\n \"optional\": true,\n \"description\": \"Start playing the video automatically\"\n },\n {\n \"name\": \"loop\",\n \"type\": \"boolean\",\n \"label\": \"Loop the video\",\n \"default\": false,\n \"optional\": true,\n \"description\": \"Check if video should run in a loop\"\n },\n {\n \"name\": \"showSolutionButton\",\n \"type\": \"select\",\n \"label\": \"Override \\\"Show Solution\\\" button\",\n \"importance\": \"low\",\n \"description\": \"This option determines if the \\\"Show Solution\\\" button will be shown for all questions, disabled for all or configured for each question individually.\",\n \"optional\": true,\n \"options\": [\n {\n \"value\": \"on\",\n \"label\": \"Enabled\"\n },\n {\n \"value\": \"off\",\n \"label\": \"Disabled\"\n }\n ]\n },\n {\n \"name\": \"retryButton\",\n \"type\": \"select\",\n \"label\": \"Override \\\"Retry\\\" button\",\n \"importance\": \"low\",\n \"description\": \"This option determines if the \\\"Retry\\\" button will be shown for all questions, disabled for all or configured for each question individually.\",\n \"optional\": true,\n \"options\": [\n {\n \"value\": \"on\",\n \"label\": \"Enabled\"\n },\n {\n \"value\": \"off\",\n \"label\": \"Disabled\"\n }\n ]\n },\n {\n \"name\": \"showBookmarksmenuOnLoad\",\n \"type\": \"boolean\",\n \"label\": \"Start with bookmarks menu open\",\n \"importance\": \"low\",\n \"default\": false,\n \"description\": \"This function is not available on iPad when using YouTube as video source.\"\n },\n {\n \"name\": \"showRewind10\",\n \"type\": \"boolean\",\n \"label\": \"Show button for rewinding 10 seconds\",\n \"importance\": \"low\",\n \"default\": false\n },\n {\n \"name\": \"preventSkipping\",\n \"type\": \"boolean\",\n \"default\": false,\n \"label\": \"Prevent skipping forward in a video\",\n \"importance\": \"low\",\n \"description\": \"Enabling this options will disable user video navigation through default controls.\"\n },\n {\n \"name\": \"deactivateSound\",\n \"type\": \"boolean\",\n \"default\": false,\n \"label\": \"Deactivate sound\",\n \"importance\": \"low\",\n \"description\": \"Enabling this option will deactivate the video's sound and prevent it from being switched on.\"\n }\n ]\n },\n {\n \"name\": \"l10n\",\n \"type\": \"group\",\n \"label\": \"Localize\",\n \"importance\": \"low\",\n \"common\": true,\n \"optional\": true,\n \"fields\": [\n {\n \"name\": \"interaction\",\n \"type\": \"text\",\n \"label\": \"Interaction title\",\n \"importance\": \"low\",\n \"default\": \"Interaction\",\n \"optional\": true\n },\n {\n \"name\": \"play\",\n \"type\": \"text\",\n \"label\": \"Play title\",\n \"importance\": \"low\",\n \"default\": \"Play\",\n \"optional\": true\n },\n {\n \"name\": \"pause\",\n \"type\": \"text\",\n \"label\": \"Pause title\",\n \"importance\": \"low\",\n \"default\": \"Pause\",\n \"optional\": true\n },\n {\n \"name\": \"mute\",\n \"type\": \"text\",\n \"label\": \"Mute title\",\n \"importance\": \"low\",\n \"default\": \"Mute\",\n \"optional\": true\n },\n {\n \"name\": \"unmute\",\n \"type\": \"text\",\n \"label\": \"Unmute title\",\n \"importance\": \"low\",\n \"default\": \"Unmute\",\n \"optional\": true\n },\n {\n \"name\": \"quality\",\n \"type\": \"text\",\n \"label\": \"Video quality title\",\n \"importance\": \"low\",\n \"default\": \"Video Quality\",\n \"optional\": true\n },\n {\n \"name\": \"captions\",\n \"type\": \"text\",\n \"label\": \"Video captions title\",\n \"importance\": \"low\",\n \"default\": \"Captions\",\n \"optional\": true\n },\n {\n \"name\": \"close\",\n \"type\": \"text\",\n \"label\": \"Close button text\",\n \"importance\": \"low\",\n \"default\": \"Close\",\n \"optional\": true\n },\n {\n \"name\": \"fullscreen\",\n \"type\": \"text\",\n \"label\": \"Fullscreen title\",\n \"importance\": \"low\",\n \"default\": \"Fullscreen\",\n \"optional\": true\n },\n {\n \"name\": \"exitFullscreen\",\n \"type\": \"text\",\n \"label\": \"Exit fullscreen title\",\n \"importance\": \"low\",\n \"default\": \"Exit Fullscreen\",\n \"optional\": true\n },\n {\n \"name\": \"summary\",\n \"type\": \"text\",\n \"label\": \"Summary title\",\n \"importance\": \"low\",\n \"default\": \"Open summary dialog\",\n \"optional\": true\n },\n {\n \"name\": \"bookmarks\",\n \"type\": \"text\",\n \"label\": \"Bookmarks title\",\n \"importance\": \"low\",\n \"default\": \"Bookmarks\",\n \"optional\": true\n },\n {\n \"name\": \"endscreen\",\n \"type\": \"text\",\n \"label\": \"Submit screen title\",\n \"importance\": \"low\",\n \"default\": \"Submit screen\",\n \"optional\": true\n },\n {\n \"name\": \"defaultAdaptivitySeekLabel\",\n \"type\": \"text\",\n \"label\": \"Default label for adaptivity seek button\",\n \"importance\": \"low\",\n \"default\": \"Continue\",\n \"optional\": true\n },\n {\n \"name\": \"continueWithVideo\",\n \"type\": \"text\",\n \"label\": \"Default label for continue video button\",\n \"importance\": \"low\",\n \"default\": \"Continue with video\",\n \"optional\": true\n },\n {\n \"name\": \"playbackRate\",\n \"type\": \"text\",\n \"label\": \"Set playback rate\",\n \"importance\": \"low\",\n \"default\": \"Playback Rate\",\n \"optional\": true\n },\n {\n \"name\": \"rewind10\",\n \"type\": \"text\",\n \"label\": \"Rewind 10 Seconds\",\n \"importance\": \"low\",\n \"default\": \"Rewind 10 Seconds\",\n \"optional\": true\n },\n {\n \"name\": \"navDisabled\",\n \"type\": \"text\",\n \"label\": \"Navigation is disabled text\",\n \"importance\": \"low\",\n \"default\": \"Navigation is disabled\",\n \"optional\": true\n },\n {\n \"name\": \"sndDisabled\",\n \"type\": \"text\",\n \"label\": \"Sound is disabled text\",\n \"importance\": \"low\",\n \"default\": \"Sound is disabled\",\n \"optional\": true\n },\n {\n \"name\": \"requiresCompletionWarning\",\n \"type\": \"text\",\n \"label\": \"Warning that the user must answer the question correctly before continuing\",\n \"importance\": \"low\",\n \"default\": \"You need to answer all the questions correctly before continuing.\",\n \"optional\": true\n },\n {\n \"name\": \"back\",\n \"type\": \"text\",\n \"label\": \"Back button\",\n \"importance\": \"low\",\n \"default\": \"Back\",\n \"optional\": true\n },\n {\n \"name\": \"hours\",\n \"type\": \"text\",\n \"label\": \"Passed time hours\",\n \"importance\": \"low\",\n \"default\": \"Hours\",\n \"optional\": true\n },\n {\n \"name\": \"minutes\",\n \"type\": \"text\",\n \"label\": \"Passed time minutes\",\n \"importance\": \"low\",\n \"default\": \"Minutes\",\n \"optional\": true\n },\n {\n \"name\": \"seconds\",\n \"type\": \"text\",\n \"label\": \"Passed time seconds\",\n \"importance\": \"low\",\n \"default\": \"Seconds\",\n \"optional\": true\n },\n {\n \"name\": \"currentTime\",\n \"type\": \"text\",\n \"label\": \"Label for current time\",\n \"importance\": \"low\",\n \"default\": \"Current time:\",\n \"optional\": true\n },\n {\n \"name\": \"totalTime\",\n \"type\": \"text\",\n \"label\": \"Label for total time\",\n \"importance\": \"low\",\n \"default\": \"Total time:\",\n \"optional\": true\n },\n {\n \"name\": \"singleInteractionAnnouncement\",\n \"type\": \"text\",\n \"label\": \"Text explaining that a single interaction with a name has come into view\",\n \"importance\": \"low\",\n \"default\": \"Interaction appeared:\",\n \"optional\": true\n },\n {\n \"name\": \"multipleInteractionsAnnouncement\",\n \"type\": \"text\",\n \"label\": \"Text for explaining that multiple interactions have come into view\",\n \"importance\": \"low\",\n \"default\": \"Multiple interactions appeared.\",\n \"optional\": true\n },\n {\n \"name\": \"videoPausedAnnouncement\",\n \"type\": \"text\",\n \"label\": \"Video is paused announcement\",\n \"importance\": \"low\",\n \"default\": \"Video is paused\",\n \"optional\": true\n },\n {\n \"name\": \"content\",\n \"type\": \"text\",\n \"label\": \"Content label\",\n \"importance\": \"low\",\n \"default\": \"Content\",\n \"optional\": true\n },\n {\n \"name\": \"answered\",\n \"type\": \"text\",\n \"label\": \"Answered message (@answered will be replaced with the number of answered questions)\",\n \"importance\": \"low\",\n \"default\": \"@answered answered\",\n \"optional\": true\n },\n {\n \"name\": \"endcardTitle\",\n \"type\": \"text\",\n \"label\": \"Submit screen title\",\n \"importance\": \"low\",\n \"default\": \"@answered Question(s) answered\",\n \"description\": \"@answered will be replaced by the number of answered questions.\",\n \"optional\": true\n },\n {\n \"name\": \"endcardInformation\",\n \"type\": \"text\",\n \"label\": \"Submit screen information\",\n \"importance\": \"low\",\n \"default\": \"You have answered @answered questions, click below to submit your answers.\",\n \"description\": \"@answered will be replaced by the number of answered questions.\",\n \"optional\": true\n },\n {\n \"name\": \"endcardInformationNoAnswers\",\n \"type\": \"text\",\n \"label\": \"Submit screen information for missing answers\",\n \"importance\": \"low\",\n \"default\": \"You have not answered any questions.\",\n \"optional\": true\n },\n {\n \"name\": \"endcardInformationMustHaveAnswer\",\n \"type\": \"text\",\n \"label\": \"Submit screen information for answer needed\",\n \"importance\": \"low\",\n \"default\": \"You have to answer at least one question before you can submit your answers.\",\n \"optional\": true\n },\n {\n \"name\": \"endcardSubmitButton\",\n \"type\": \"text\",\n \"label\": \"Submit screen submit button\",\n \"importance\": \"low\",\n \"default\": \"Submit Answers\",\n \"optional\": true\n },\n {\n \"name\": \"endcardSubmitMessage\",\n \"type\": \"text\",\n \"label\": \"Submit screen submit message\",\n \"importance\": \"low\",\n \"default\": \"Your answers have been submitted!\",\n \"optional\": true\n },\n {\n \"name\": \"endcardTableRowAnswered\",\n \"type\": \"text\",\n \"label\": \"Submit screen table row title: Answered questions\",\n \"importance\": \"low\",\n \"default\": \"Answered questions\",\n \"optional\": true\n },\n {\n \"name\": \"endcardTableRowScore\",\n \"type\": \"text\",\n \"label\": \"Submit screen table row title: Score\",\n \"importance\": \"low\",\n \"default\": \"Score\",\n \"optional\": true\n },\n {\n \"name\": \"endcardAnsweredScore\",\n \"type\": \"text\",\n \"label\": \"Submit screen answered score\",\n \"importance\": \"low\",\n \"default\": \"answered\",\n \"optional\": true\n },\n {\n \"name\": \"endCardTableRowSummaryWithScore\",\n \"type\": \"text\",\n \"label\": \"Submit screen row summary including score (for readspeakers)\",\n \"importance\": \"low\",\n \"default\": \"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\n \"optional\": true\n },\n {\n \"name\": \"endCardTableRowSummaryWithoutScore\",\n \"type\": \"text\",\n \"label\": \"Submit screen row summary for no score (for readspeakers)\",\n \"importance\": \"low\",\n \"default\": \"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\",\n \"optional\": true\n }\n ]\n }\n]",
"tutorial_url": "",
"has_icon": 1
},
"created_at": "2020-09-30T20:24:58.000000Z",
"updated_at": "2020-09-30T20:24:58.000000Z"
},
"library_name": "H5P.InteractiveVideo",
"major_version": 1,
"minor_version": 21,
"user_name": null,
"user_id": null,
"created_at": "2020-09-30T20:24:58.000000Z",
"updated_at": "2020-09-30T20:24:58.000000Z"
}
}
Received response:
Request failed with error:
H5P Activity
Get H5P Activity details
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/activities/761/h5p" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/activities/761/h5p"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/activities/761/h5p',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"activity": {
"id": 1,
"title": "Science of Golf: Why Balls Have Dimples",
"type": "h5p",
"content": "",
"shared": false,
"order": 2,
"thumb_url": null,
"subject_id": null,
"education_level_id": null,
"h5p": {
"settings": {
"baseUrl": "https://www.currikistudio.org/api",
"url": "https://www.currikistudio.org/api/storage/h5p",
"postUserStatistics": true,
"ajax": {
"setFinished": "https://www.currikistudio.org/api/api/h5p/ajax/url",
"contentUserData": "https://www.currikistudio.org/api/api/h5p/ajax/content-user-data/?content_id=:contentId&data_type=:dataType&sub_content_id=:subContentId"
},
"saveFreq": false,
"siteUrl": "https://www.currikistudio.org/api",
"l10n": {
"H5P": {
"fullscreen": "Fullscreen",
"disableFullscreen": "Disable fullscreen",
"download": "Download",
"copyrights": "Rights of use",
"embed": "Embed",
"reuseDescription": "Reuse this content.",
"size": "Size",
"showAdvanced": "Show advanced",
"hideAdvanced": "Hide advanced",
"advancedHelp": "Include this script on your website if you want dynamic sizing of the embedded content:",
"copyrightInformation": "Rights of use",
"close": "Close",
"title": "Title",
"author": "Author",
"year": "Year",
"source": "Source",
"license": "License",
"thumbnail": "Thumbnail",
"noCopyrights": "No copyright information available for this content.",
"downloadDescription": "Download this content as a H5P file.",
"copyrightsDescription": "View copyright information for this content.",
"embedDescription": "View the embed code for this content.",
"h5pDescription": "Visit H5P.org to check out more cool content.",
"contentChanged": "This content has changed since you last used it.",
"startingOver": "You'll be starting over.",
"confirmDialogHeader": "Confirm action",
"confirmDialogBody": "Please confirm that you wish to proceed. This action is not reversible.",
"cancelLabel": "Cancel",
"confirmLabel": "Confirm",
"reuse": "Reuse",
"reuseContent": "Reuse Content"
}
},
"hubIsEnabled": false,
"user": {
"name": "John Doe",
"email": "john.doe@currikistudio.org"
},
"editor": {
"filesPath": "https://www.currikistudio.org/api/storage/h5p/editor",
"fileIcon": {
"path": "https://www.currikistudio.org/api/storage/h5p/h5p-editor/images/binary-file.png",
"width": 50,
"height": 50
},
"ajaxPath": "https://www.currikistudio.org/api/api/v1/h5p/ajax/",
"libraryUrl": "https://www.currikistudio.org/api/storage/h5p/h5p-editor/",
"copyrightSemantics": {
"name": "copyright",
"type": "group",
"label": "Copyright information",
"fields": [
{
"name": "title",
"type": "text",
"label": "Title",
"placeholder": "La Gioconda",
"optional": true
},
{
"name": "author",
"type": "text",
"label": "Author",
"placeholder": "Leonardo da Vinci",
"optional": true
},
{
"name": "year",
"type": "text",
"label": "Year(s)",
"placeholder": "1503 - 1517",
"optional": true
},
{
"name": "source",
"type": "text",
"label": "Source",
"placeholder": "http://en.wikipedia.org/wiki/Mona_Lisa",
"optional": true,
"regexp": {
"pattern": "^http[s]?://.+",
"modifiers": "i"
}
},
{
"name": "license",
"type": "select",
"label": "License",
"default": "U",
"options": [
{
"value": "U",
"label": "Undisclosed"
},
{
"value": "CC BY",
"label": "Attribution",
"versions": [
{
"value": "4.0",
"label": "4.0 International"
},
{
"value": "3.0",
"label": "3.0 Unported"
},
{
"value": "2.5",
"label": "2.5 Generic"
},
{
"value": "2.0",
"label": "2.0 Generic"
},
{
"value": "1.0",
"label": "1.0 Generic"
}
]
},
{
"value": "CC BY-SA",
"label": "Attribution-ShareAlike",
"versions": [
{
"value": "4.0",
"label": "4.0 International"
},
{
"value": "3.0",
"label": "3.0 Unported"
},
{
"value": "2.5",
"label": "2.5 Generic"
},
{
"value": "2.0",
"label": "2.0 Generic"
},
{
"value": "1.0",
"label": "1.0 Generic"
}
]
},
{
"value": "CC BY-ND",
"label": "Attribution-NoDerivs",
"versions": [
{
"value": "4.0",
"label": "4.0 International"
},
{
"value": "3.0",
"label": "3.0 Unported"
},
{
"value": "2.5",
"label": "2.5 Generic"
},
{
"value": "2.0",
"label": "2.0 Generic"
},
{
"value": "1.0",
"label": "1.0 Generic"
}
]
},
{
"value": "CC BY-NC",
"label": "Attribution-NonCommercial",
"versions": [
{
"value": "4.0",
"label": "4.0 International"
},
{
"value": "3.0",
"label": "3.0 Unported"
},
{
"value": "2.5",
"label": "2.5 Generic"
},
{
"value": "2.0",
"label": "2.0 Generic"
},
{
"value": "1.0",
"label": "1.0 Generic"
}
]
},
{
"value": "CC BY-NC-SA",
"label": "Attribution-NonCommercial-ShareAlike",
"versions": [
{
"value": "4.0",
"label": "4.0 International"
},
{
"value": "3.0",
"label": "3.0 Unported"
},
{
"value": "2.5",
"label": "2.5 Generic"
},
{
"value": "2.0",
"label": "2.0 Generic"
},
{
"value": "1.0",
"label": "1.0 Generic"
}
]
},
{
"value": "CC BY-NC-ND",
"label": "Attribution-NonCommercial-NoDerivs",
"versions": [
{
"value": "4.0",
"label": "4.0 International"
},
{
"value": "3.0",
"label": "3.0 Unported"
},
{
"value": "2.5",
"label": "2.5 Generic"
},
{
"value": "2.0",
"label": "2.0 Generic"
},
{
"value": "1.0",
"label": "1.0 Generic"
}
]
},
{
"value": "GNU GPL",
"label": "General Public License",
"versions": [
{
"value": "v3",
"label": "Version 3"
},
{
"value": "v2",
"label": "Version 2"
},
{
"value": "v1",
"label": "Version 1"
}
]
},
{
"value": "PD",
"label": "Public Domain",
"versions": [
{
"value": "-",
"label": "-"
},
{
"value": "CC0 1.0",
"label": "CC0 1.0 Universal"
},
{
"value": "CC PDM",
"label": "Public Domain Mark"
}
]
},
{
"value": "C",
"label": "Copyright"
}
]
},
{
"name": "version",
"type": "select",
"label": "License Version",
"options": []
}
]
},
"metadataSemantics": [
{
"name": "title",
"type": "text",
"label": "Title",
"placeholder": "La Gioconda"
},
{
"name": "license",
"type": "select",
"label": "License",
"default": "U",
"options": [
{
"value": "U",
"label": "Undisclosed"
},
{
"type": "optgroup",
"label": "Creative Commons",
"options": [
{
"value": "CC BY",
"label": "Attribution (CC BY)",
"versions": [
{
"value": "4.0",
"label": "4.0 International"
},
{
"value": "3.0",
"label": "3.0 Unported"
},
{
"value": "2.5",
"label": "2.5 Generic"
},
{
"value": "2.0",
"label": "2.0 Generic"
},
{
"value": "1.0",
"label": "1.0 Generic"
}
]
},
{
"value": "CC BY-SA",
"label": "Attribution-ShareAlike (CC BY-SA)",
"versions": [
{
"value": "4.0",
"label": "4.0 International"
},
{
"value": "3.0",
"label": "3.0 Unported"
},
{
"value": "2.5",
"label": "2.5 Generic"
},
{
"value": "2.0",
"label": "2.0 Generic"
},
{
"value": "1.0",
"label": "1.0 Generic"
}
]
},
{
"value": "CC BY-ND",
"label": "Attribution-NoDerivs (CC BY-ND)",
"versions": [
{
"value": "4.0",
"label": "4.0 International"
},
{
"value": "3.0",
"label": "3.0 Unported"
},
{
"value": "2.5",
"label": "2.5 Generic"
},
{
"value": "2.0",
"label": "2.0 Generic"
},
{
"value": "1.0",
"label": "1.0 Generic"
}
]
},
{
"value": "CC BY-NC",
"label": "Attribution-NonCommercial (CC BY-NC)",
"versions": [
{
"value": "4.0",
"label": "4.0 International"
},
{
"value": "3.0",
"label": "3.0 Unported"
},
{
"value": "2.5",
"label": "2.5 Generic"
},
{
"value": "2.0",
"label": "2.0 Generic"
},
{
"value": "1.0",
"label": "1.0 Generic"
}
]
},
{
"value": "CC BY-NC-SA",
"label": "Attribution-NonCommercial-ShareAlike (CC BY-NC-SA)",
"versions": [
{
"value": "4.0",
"label": "4.0 International"
},
{
"value": "3.0",
"label": "3.0 Unported"
},
{
"value": "2.5",
"label": "2.5 Generic"
},
{
"value": "2.0",
"label": "2.0 Generic"
},
{
"value": "1.0",
"label": "1.0 Generic"
}
]
},
{
"value": "CC BY-NC-ND",
"label": "Attribution-NonCommercial-NoDerivs (CC BY-NC-ND)",
"versions": [
{
"value": "4.0",
"label": "4.0 International"
},
{
"value": "3.0",
"label": "3.0 Unported"
},
{
"value": "2.5",
"label": "2.5 Generic"
},
{
"value": "2.0",
"label": "2.0 Generic"
},
{
"value": "1.0",
"label": "1.0 Generic"
}
]
},
{
"value": "CC0 1.0",
"label": "Public Domain Dedication (CC0)"
},
{
"value": "CC PDM",
"label": "Public Domain Mark (PDM)"
}
]
},
{
"value": "GNU GPL",
"label": "General Public License v3"
},
{
"value": "PD",
"label": "Public Domain"
},
{
"value": "ODC PDDL",
"label": "Public Domain Dedication and Licence"
},
{
"value": "C",
"label": "Copyright"
}
]
},
{
"name": "licenseVersion",
"type": "select",
"label": "License Version",
"options": [
{
"value": "4.0",
"label": "4.0 International"
},
{
"value": "3.0",
"label": "3.0 Unported"
},
{
"value": "2.5",
"label": "2.5 Generic"
},
{
"value": "2.0",
"label": "2.0 Generic"
},
{
"value": "1.0",
"label": "1.0 Generic"
}
],
"optional": true
},
{
"name": "yearFrom",
"type": "number",
"label": "Years (from)",
"placeholder": "1991",
"min": "-9999",
"max": "9999",
"optional": true
},
{
"name": "yearTo",
"type": "number",
"label": "Years (to)",
"placeholder": "1992",
"min": "-9999",
"max": "9999",
"optional": true
},
{
"name": "source",
"type": "text",
"label": "Source",
"placeholder": "https://",
"optional": true
},
{
"name": "authors",
"type": "list",
"field": {
"name": "author",
"type": "group",
"fields": [
{
"label": "Author's name",
"name": "name",
"optional": true,
"type": "text"
},
{
"name": "role",
"type": "select",
"label": "Author's role",
"default": "Author",
"options": [
{
"value": "Author",
"label": "Author"
},
{
"value": "Editor",
"label": "Editor"
},
{
"value": "Licensee",
"label": "Licensee"
},
{
"value": "Originator",
"label": "Originator"
}
]
}
]
}
},
{
"name": "licenseExtras",
"type": "text",
"widget": "textarea",
"label": "License Extras",
"optional": true,
"description": "Any additional information about the license"
},
{
"name": "changes",
"type": "list",
"field": {
"name": "change",
"type": "group",
"label": "Changelog",
"fields": [
{
"name": "date",
"type": "text",
"label": "Date",
"optional": true
},
{
"name": "author",
"type": "text",
"label": "Changed by",
"optional": true
},
{
"name": "log",
"type": "text",
"widget": "textarea",
"label": "Description of change",
"placeholder": "Photo cropped, text changed, etc.",
"optional": true
}
]
}
},
{
"name": "authorComments",
"type": "text",
"widget": "textarea",
"label": "Author comments",
"description": "Comments for the editor of the content (This text will not be published as a part of copyright info)",
"optional": true
},
{
"name": "contentType",
"type": "text",
"widget": "none"
},
{
"name": "defaultLanguage",
"type": "text",
"widget": "none"
}
],
"assets": {
"css": [
"https://www.currikistudio.org/api/storage/h5p/laravel-h5p/css/laravel-h5p.css",
"https://www.currikistudio.org/api/storage/h5p/h5p-core/styles/h5p.css",
"https://www.currikistudio.org/api/storage/h5p/h5p-core/styles/h5p-confirmation-dialog.css",
"https://www.currikistudio.org/api/storage/h5p/h5p-core/styles/h5p-core-button.css",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/libs/darkroom.css",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/styles/css/h5p-hub-client.css",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/styles/css/fonts.css",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/styles/css/application.css",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/styles/css/libs/zebra_datepicker.min.css"
],
"js": [
"https://www.currikistudio.org/api/storage/h5p/h5p-core/js/jquery.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-core/js/h5p.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-core/js/h5p-event-dispatcher.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-core/js/h5p-x-api-event.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-core/js/h5p-x-api.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-core/js/h5p-content-type.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-core/js/h5p-confirmation-dialog.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-core/js/h5p-action-bar.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-core/js/request-queue.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-editor.js",
"https://www.currikistudio.org/api/storage/h5p/laravel-h5p/js/laravel-h5p.js",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-help-dialog.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-message-dialog.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-progress-circle.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-simple-rounded-button.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-speech-bubble.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-throbber.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-tip.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-slider.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-score-bar.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-progressbar.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-ui.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/laravel-h5p/js/laravel-h5p-editor.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5p-hub-client.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-semantic-structure.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-library-selector.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-fullscreen-bar.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-form.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-text.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-html.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-number.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-textarea.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-file-uploader.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-file.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-image.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-image-popup.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-av.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-group.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-boolean.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-list.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-list-editor.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-library.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-library-list-cache.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-select.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-selector-hub.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-selector-legacy.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-dimensions.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-coordinates.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-none.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-metadata.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-metadata-author-widget.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-metadata-changelog-widget.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-pre-save.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/ckeditor/ckeditor.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/language/en.js"
]
},
"deleteMessage": "laravel-h5p.content.destoryed",
"apiVersion": {
"majorVersion": 1,
"minorVersion": 24
}
},
"loadedJs": [],
"loadedCss": [],
"core": {
"styles": [
"https://www.currikistudio.org/api/storage/h5p/laravel-h5p/css/laravel-h5p.css",
"https://www.currikistudio.org/api/storage/h5p/h5p-core/styles/h5p.css",
"https://www.currikistudio.org/api/storage/h5p/h5p-core/styles/h5p-confirmation-dialog.css",
"https://www.currikistudio.org/api/storage/h5p/h5p-core/styles/h5p-core-button.css"
],
"scripts": [
"https://www.currikistudio.org/api/storage/h5p/h5p-core/js/jquery.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-core/js/h5p.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-core/js/h5p-event-dispatcher.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-core/js/h5p-x-api-event.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-core/js/h5p-x-api.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-core/js/h5p-content-type.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-core/js/h5p-confirmation-dialog.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-core/js/h5p-action-bar.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-core/js/request-queue.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-editor.js",
"https://www.currikistudio.org/api/storage/h5p/laravel-h5p/js/laravel-h5p.js",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-help-dialog.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-message-dialog.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-progress-circle.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-simple-rounded-button.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-speech-bubble.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-throbber.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-tip.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-slider.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-score-bar.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-progressbar.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-ui.js?ver=1.3.9"
]
},
"contents": {
"cid-59": {
"library": "H5P.InteractiveVideo 1.21",
"jsonContent": "{\"interactiveVideo\":{\"video\":{\"startScreenOptions\":{\"title\":\"Interactive Video\",\"hideStartTitle\":false},\"textTracks\":{\"videoTrack\":[{\"label\":\"Subtitles\",\"kind\":\"subtitles\",\"srcLang\":\"en\"}]},\"files\":[{\"path\":\"https://youtu.be/fcjaxC-e8oY\",\"mime\":\"video/YouTube\",\"copyright\":{\"license\":\"U\"}}]},\"assets\":{\"interactions\":[{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":58.33,\"to\":68.33},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"133bca3d-cfe9-442d-a887-8bf1e2ce682a\",\"question\":\"<p>Why do golf balls have dimples?</p>\\n\",\"answers\":[\"<p>They reduce wind resistance.</p>\\n\",\"<p>They make the ball more visually interesting.</p>\\n\",\"<p>They grip the putting green better than a smooth ball.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"ac029b43-7225-49ed-a2d7-8656037748e0\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Why do golf balls have dimples?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Why do golf balls have dimples?</p>\\n\"},{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":132.969,\"to\":142.969},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"308503f3-8d41-4f4f-b016-587bcce3dfac\",\"question\":\"<p>A smooth ball will have a detached airflow, which causes what?</p>\\n\",\"answers\":[\"<p>A low pressure zone, which is what causes drag.</p>\\n\",\"<p>The ball has no spin.</p>\\n\",\"<p>The ball travels higher, but for a shorter distance.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"f70c849d-9542-4f30-9116-8b60b7da708d\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Smooth Ball?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Smooth Ball</p>\\n\"}],\"endscreens\":[{\"time\":295,\"label\":\"4:55 Submit screen\"}]},\"summary\":{\"task\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"8e2cf84f-4557-4f79-a03e-526838498a7d\",\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"8d5527ef-3601-4ad9-9e63-2782c9775173\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\"}},\"displayAt\":3}},\"override\":{\"autoplay\":false,\"loop\":false,\"showBookmarksmenuOnLoad\":false,\"showRewind10\":false,\"preventSkipping\":false,\"deactivateSound\":false},\"l10n\":{\"interaction\":\"Interaction\",\"play\":\"Play\",\"pause\":\"Pause\",\"mute\":\"Mute\",\"unmute\":\"Unmute\",\"quality\":\"Video Quality\",\"captions\":\"Captions\",\"close\":\"Close\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit Fullscreen\",\"summary\":\"Open summary dialog\",\"bookmarks\":\"Bookmarks\",\"endscreen\":\"Submit screen\",\"defaultAdaptivitySeekLabel\":\"Continue\",\"continueWithVideo\":\"Continue with video\",\"playbackRate\":\"Playback Rate\",\"rewind10\":\"Rewind 10 Seconds\",\"navDisabled\":\"Navigation is disabled\",\"sndDisabled\":\"Sound is disabled\",\"requiresCompletionWarning\":\"You need to answer all the questions correctly before continuing.\",\"back\":\"Back\",\"hours\":\"Hours\",\"minutes\":\"Minutes\",\"seconds\":\"Seconds\",\"currentTime\":\"Current time:\",\"totalTime\":\"Total time:\",\"singleInteractionAnnouncement\":\"Interaction appeared:\",\"multipleInteractionsAnnouncement\":\"Multiple interactions appeared.\",\"videoPausedAnnouncement\":\"Video is paused\",\"content\":\"Content\",\"answered\":\"@answered answered\",\"endcardTitle\":\"@answered Question(s) answered\",\"endcardInformation\":\"You have answered @answered questions, click below to submit your answers.\",\"endcardInformationNoAnswers\":\"You have not answered any questions.\",\"endcardInformationMustHaveAnswer\":\"You have to answer at least one question before you can submit your answers.\",\"endcardSubmitButton\":\"Submit Answers\",\"endcardSubmitMessage\":\"Your answers have been submitted!\",\"endcardTableRowAnswered\":\"Answered questions\",\"endcardTableRowScore\":\"Score\",\"endcardAnsweredScore\":\"answered\",\"endCardTableRowSummaryWithScore\":\"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\"endCardTableRowSummaryWithoutScore\":\"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\"}}",
"fullScreen": 1,
"exportUrl": "https://www.currikistudio.org/api/h5p/export/59",
"embedCode": "<iframe src=\"https://www.currikistudio.org/h5p/embed/59\" width=\":w\" height=\":h\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"></iframe>",
"resizeCode": "<script src=\"https://www.currikistudio.org/api/storage/h5p/h5p-core/js/h5p-resizer.js\" charset=\"UTF-8\"></script>",
"url": "https://www.currikistudio.org/api/h5p/embed/59",
"title": "Science of Golf: Why Balls Have Dimples",
"displayOptions": {
"frame": true,
"export": true,
"embed": true,
"copyright": false,
"icon": true,
"copy": false
},
"contentUserData": [
{
"state": "{}"
}
],
"scripts": [
"https://www.currikistudio.org/api/storage/h5p/libraries/Drop-1.0/js/drop.min.js?ver=1.0.2",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.Transition-1.0/transition.js?ver=1.0.4",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-help-dialog.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-message-dialog.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-progress-circle.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-simple-rounded-button.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-speech-bubble.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-throbber.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-tip.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-slider.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-score-bar.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-progressbar.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-ui.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.Question-1.4/scripts/question.js?ver=1.4.7",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.Question-1.4/scripts/explainer.js?ver=1.4.7",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.Question-1.4/scripts/score-points.js?ver=1.4.7",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.SoundJS-1.0/soundjs-0.6.2.min.js?ver=1.0.2",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.SingleChoiceSet-1.11/scripts/stop-watch.js?ver=1.11.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.SingleChoiceSet-1.11/scripts/sound-effects.js?ver=1.11.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.SingleChoiceSet-1.11/scripts/xapi-event-builder.js?ver=1.11.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.SingleChoiceSet-1.11/scripts/result-slide.js?ver=1.11.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.SingleChoiceSet-1.11/scripts/solution-view.js?ver=1.11.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.SingleChoiceSet-1.11/scripts/single-choice-alternative.js?ver=1.11.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.SingleChoiceSet-1.11/scripts/single-choice.js?ver=1.11.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.SingleChoiceSet-1.11/scripts/single-choice-set.js?ver=1.11.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.Summary-1.10/js/stop-watch.js?ver=1.10.8",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.Summary-1.10/js/xapi-event-builder.js?ver=1.10.8",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.Summary-1.10/js/summary.js?ver=1.10.8",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.DragNDrop-1.1/drag-n-drop.js?ver=1.1.5",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.DragNResize-1.2/H5P.DragNResize.js?ver=1.2.6",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.DragNBar-1.5/scripts/drag-n-bar.js?ver=1.5.10",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.DragNBar-1.5/scripts/context-menu.js?ver=1.5.10",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.DragNBar-1.5/scripts/dialog.js?ver=1.5.10",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.DragNBar-1.5/scripts/drag-n-bar-element.js?ver=1.5.10",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.DragNBar-1.5/scripts/drag-n-bar-form-manager.js?ver=1.5.10",
"https://www.currikistudio.org/api/storage/h5p/libraries/flowplayer-1.0/scripts/flowplayer-3.2.12.min.js?ver=1.0.5",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.Video-1.5/scripts/youtube.js?ver=1.5.12",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.Video-1.5/scripts/panopto.js?ver=1.5.12",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.Video-1.5/scripts/html5.js?ver=1.5.12",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.Video-1.5/scripts/flash.js?ver=1.5.12",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.Video-1.5/scripts/video.js?ver=1.5.12",
"https://www.currikistudio.org/api/storage/h5p/libraries/jQuery.ui-1.10/h5p-jquery-ui.js?ver=1.10.19",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.InteractiveVideo-1.21/dist/h5p-interactive-video.js?ver=1.21.9"
],
"styles": [
"https://www.currikistudio.org/api/storage/h5p/libraries/FontAwesome-4.5/h5p-font-awesome.min.css?ver=4.5.4",
"https://www.currikistudio.org/api/storage/h5p/libraries/Drop-1.0/css/drop-theme-arrows-bounce.min.css?ver=1.0.2",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.FontIcons-1.0/styles/h5p-font-icons.css?ver=1.0.6",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/css/joubel-help-dialog.css?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/css/joubel-message-dialog.css?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/css/joubel-progress-circle.css?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/css/joubel-simple-rounded-button.css?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/css/joubel-speech-bubble.css?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/css/joubel-tip.css?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/css/joubel-slider.css?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/css/joubel-score-bar.css?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/css/joubel-progressbar.css?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/css/joubel-ui.css?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/css/joubel-icon.css?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.Question-1.4/styles/question.css?ver=1.4.7",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.Question-1.4/styles/explainer.css?ver=1.4.7",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.SingleChoiceSet-1.11/styles/single-choice-set.css?ver=1.11.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.Summary-1.10/css/summary.css?ver=1.10.8",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.DragNResize-1.2/H5P.DragNResize.css?ver=1.2.6",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.DragNBar-1.5/styles/drag-n-bar.css?ver=1.5.10",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.DragNBar-1.5/styles/dialog.css?ver=1.5.10",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.DragNBar-1.5/styles/context-menu.css?ver=1.5.10",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.DragNBar-1.5/styles/drag-n-bar-form-manager.css?ver=1.5.10",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.Video-1.5/styles/video.css?ver=1.5.12",
"https://www.currikistudio.org/api/storage/h5p/libraries/jQuery.ui-1.10/h5p-jquery-ui.css?ver=1.10.19",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.InteractiveVideo-1.21/dist/h5p-interactive-video.css?ver=1.21.9"
]
}
}
},
"user": {
"id": 1,
"name": "John Doe",
"email": "john.doe@currikistudio.org"
},
"embed_code": "<div class=\"h5p-iframe-wrapper\"><iframe id=\"h5p-iframe-59\" class=\"h5p-iframe\" data-content-id=\"59\" style=\"height: 1px\" src=\"about:blank\" frameBorder=\"0\" scrolling=\"no\"></iframe></div>"
},
"playlist": {
"id": 1,
"title": "The Engineering & Design Behind Golf Balls",
"project_id": 1,
"order": 0,
"created_at": null,
"updated_at": null,
"deleted_at": null,
"elasticsearch": true,
"is_public": true,
"project": {
"id": 1,
"name": "The Science of Golf",
"description": "Uncover the science, technology, engineering, and mathematics behind the game of golf.",
"thumb_url": "/storage/projects/nN5y8v8zh2ghxrKuHCv5wvJOREFw0Nr27s2DPxWq.png",
"starter_project": false,
"created_at": "2020-04-30T20:03:12.000000Z",
"updated_at": "2020-09-17T05:44:49.000000Z",
"deleted_at": null,
"elasticsearch": false,
"shared": true,
"is_public": true
}
},
"created_at": null,
"updated_at": null
},
"playlist": {
"id": 1,
"title": "The Engineering & Design Behind Golf Balls",
"order": 0,
"is_public": true,
"project_id": 1,
"project": {
"id": 1,
"name": "The Science of Golf",
"description": "Uncover the science, technology, engineering, and mathematics behind the game of golf.",
"thumb_url": "/storage/projects/nN5y8v8zh2ghxrKuHCv5wvJOREFw0Nr27s2DPxWq.png",
"shared": true,
"starter_project": false,
"users": [
{
"id": 1,
"first_name": "John",
"last_name": "Doe",
"email": "john.doe@currikistudio.org",
"role": "owner"
}
],
"is_public": true,
"created_at": "2020-04-30T20:03:12.000000Z",
"updated_at": "2020-09-17T05:44:49.000000Z"
},
"activities": [
{
"id": 4,
"playlist_id": 1,
"title": "Labeling Golf Ball - Principles of Physics",
"type": "h5p",
"content": "",
"shared": false,
"order": 0,
"thumb_url": null,
"subject_id": null,
"education_level_id": null,
"h5p_content": {
"id": 65,
"created_at": "2020-04-30T23:40:49.000000Z",
"updated_at": "2020-04-30T23:40:49.000000Z",
"user_id": 1,
"title": "Labeling Golf Ball - Principles of Physics",
"library_id": 19,
"parameters": "{\"scoreShow\":\"Check\",\"tryAgain\":\"Retry\",\"scoreExplanation\":\"Correct answers give +1 point. Incorrect answers give -1 point. The lowest possible score is 0.\",\"question\":{\"settings\":{\"size\":{\"width\":620,\"height\":310},\"background\":{\"path\":\"images/background-5eab614083be2.png#tmp\",\"mime\":\"image/png\",\"copyright\":{\"license\":\"U\"},\"width\":620,\"height\":310}},\"task\":{\"elements\":[{\"x\":0,\"y\":47.96909692035003,\"width\":7.812090416666667,\"height\":1.3537570833333332,\"dropZones\":[\"0\",\"1\",\"2\"],\"type\":{\"library\":\"H5P.AdvancedText 1.1\",\"params\":{\"text\":\"<p>Lift</p>\\n\"},\"subContentId\":\"be1d9b11-91ff-4e59-a7c6-9966e1bf8cb2\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Lift\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Lift\"}},\"backgroundOpacity\":100,\"multiple\":false},{\"x\":-4.63163666049382e-8,\"y\":58.810763796296285,\"width\":7.812090416666667,\"height\":1.3537570833333332,\"dropZones\":[\"0\",\"1\",\"2\"],\"type\":{\"library\":\"H5P.AdvancedText 1.1\",\"params\":{\"text\":\"<p>Drag</p>\\n\"},\"subContentId\":\"05a00202-b5dd-44a9-acf1-0cce77278b33\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Drag\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Drag\"}},\"backgroundOpacity\":100,\"multiple\":false},{\"x\":-4.63163666049382e-8,\"y\":36.89236101851851,\"width\":7.812090416666667,\"height\":1.281997824074074,\"dropZones\":[\"0\",\"1\",\"2\"],\"type\":{\"library\":\"H5P.AdvancedText 1.1\",\"params\":{\"text\":\"<p>Spin</p>\\n\"},\"subContentId\":\"140a5423-873b-46d4-8f4f-9b236cefce20\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Spin\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Spin\"}},\"backgroundOpacity\":100,\"multiple\":false}],\"dropZones\":[{\"x\":72.35516653328209,\"y\":14.75972212933847,\"width\":8.61111111111111,\"height\":2.511574074074074,\"correctElements\":[\"0\"],\"showLabel\":false,\"backgroundOpacity\":50,\"tipsAndFeedback\":{\"tip\":\"\"},\"single\":true,\"autoAlign\":true,\"type\":{\"library\":\"H5P.DragQuestionDropzone 0.1\"},\"label\":\"<div>Lift</div>\\n\"},{\"x\":72.35484909201396,\"y\":36.89236101851851,\"width\":8.61111111111111,\"height\":2.511574074074074,\"correctElements\":[\"1\"],\"showLabel\":false,\"backgroundOpacity\":50,\"tipsAndFeedback\":{\"tip\":\"\"},\"single\":true,\"autoAlign\":true,\"type\":{\"library\":\"H5P.DragQuestionDropzone 0.1\"},\"label\":\"<div>Drag</div>\\n\"},{\"x\":72.35516653328209,\"y\":51.65902745268465,\"width\":8.61111111111111,\"height\":2.511574074074074,\"correctElements\":[\"2\"],\"showLabel\":false,\"backgroundOpacity\":50,\"tipsAndFeedback\":{\"tip\":\"\"},\"single\":true,\"autoAlign\":true,\"type\":{\"library\":\"H5P.DragQuestionDropzone 0.1\"},\"label\":\"<div>Spin</div>\\n\"}]}},\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"enableRetry\":true,\"enableCheckButton\":true,\"showSolutionsRequiresInput\":true,\"singlePoint\":false,\"applyPenalties\":true,\"enableScoreExplanation\":true,\"dropZoneHighlighting\":\"dragging\",\"autoAlignSpacing\":2,\"enableFullScreen\":false,\"showScorePoints\":true,\"showTitle\":true},\"grabbablePrefix\":\"Grabbable {num} of {total}.\",\"grabbableSuffix\":\"Placed in dropzone {num}.\",\"dropzonePrefix\":\"Dropzone {num} of {total}.\",\"noDropzone\":\"No dropzone.\",\"tipLabel\":\"Show tip.\",\"tipAvailable\":\"Tip available\",\"correctAnswer\":\"Correct answer\",\"wrongAnswer\":\"Wrong answer\",\"feedbackHeader\":\"Feedback\",\"scoreBarLabel\":\"You got :num out of :total points\",\"scoreExplanationButtonLabel\":\"Show score explanation\",\"localize\":{\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit fullscreen\"}}",
"filtered": "{\"scoreShow\":\"Check\",\"tryAgain\":\"Retry\",\"scoreExplanation\":\"Correct answers give +1 point. Incorrect answers give -1 point. The lowest possible score is 0.\",\"question\":{\"settings\":{\"size\":{\"width\":620,\"height\":310},\"background\":{\"path\":\"images/background-5eab614083be2.png\",\"mime\":\"image/png\",\"copyright\":{\"license\":\"U\"},\"width\":620,\"height\":310}},\"task\":{\"elements\":[{\"x\":0,\"y\":47.96909692035003,\"width\":7.812090416666667,\"height\":1.3537570833333332,\"dropZones\":[\"0\",\"1\",\"2\"],\"type\":{\"library\":\"H5P.AdvancedText 1.1\",\"params\":{\"text\":\"<p>Lift</p>\\n\"},\"subContentId\":\"be1d9b11-91ff-4e59-a7c6-9966e1bf8cb2\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Lift\"}},\"backgroundOpacity\":100,\"multiple\":false},{\"x\":-4.63163666049382e-8,\"y\":58.810763796296285,\"width\":7.812090416666667,\"height\":1.3537570833333332,\"dropZones\":[\"0\",\"1\",\"2\"],\"type\":{\"library\":\"H5P.AdvancedText 1.1\",\"params\":{\"text\":\"<p>Drag</p>\\n\"},\"subContentId\":\"05a00202-b5dd-44a9-acf1-0cce77278b33\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Drag\"}},\"backgroundOpacity\":100,\"multiple\":false},{\"x\":-4.63163666049382e-8,\"y\":36.89236101851851,\"width\":7.812090416666667,\"height\":1.281997824074074,\"dropZones\":[\"0\",\"1\",\"2\"],\"type\":{\"library\":\"H5P.AdvancedText 1.1\",\"params\":{\"text\":\"<p>Spin</p>\\n\"},\"subContentId\":\"140a5423-873b-46d4-8f4f-9b236cefce20\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Spin\"}},\"backgroundOpacity\":100,\"multiple\":false}],\"dropZones\":[{\"x\":72.35516653328209,\"y\":14.75972212933847,\"width\":8.61111111111111,\"height\":2.511574074074074,\"correctElements\":[\"0\"],\"showLabel\":false,\"backgroundOpacity\":50,\"tipsAndFeedback\":{\"tip\":\"\"},\"single\":true,\"autoAlign\":true,\"label\":\"<div>Lift</div>\\n\"},{\"x\":72.35484909201396,\"y\":36.89236101851851,\"width\":8.61111111111111,\"height\":2.511574074074074,\"correctElements\":[\"1\"],\"showLabel\":false,\"backgroundOpacity\":50,\"tipsAndFeedback\":{\"tip\":\"\"},\"single\":true,\"autoAlign\":true,\"label\":\"<div>Drag</div>\\n\"},{\"x\":72.35516653328209,\"y\":51.65902745268465,\"width\":8.61111111111111,\"height\":2.511574074074074,\"correctElements\":[\"2\"],\"showLabel\":false,\"backgroundOpacity\":50,\"tipsAndFeedback\":{\"tip\":\"\"},\"single\":true,\"autoAlign\":true,\"label\":\"<div>Spin</div>\\n\"}]}},\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"enableRetry\":true,\"enableCheckButton\":true,\"showSolutionsRequiresInput\":true,\"singlePoint\":false,\"applyPenalties\":true,\"enableScoreExplanation\":true,\"dropZoneHighlighting\":\"dragging\",\"autoAlignSpacing\":2,\"enableFullScreen\":false,\"showScorePoints\":true,\"showTitle\":true},\"grabbablePrefix\":\"Grabbable {num} of {total}.\",\"grabbableSuffix\":\"Placed in dropzone {num}.\",\"dropzonePrefix\":\"Dropzone {num} of {total}.\",\"noDropzone\":\"No dropzone.\",\"tipLabel\":\"Show tip.\",\"tipAvailable\":\"Tip available\",\"correctAnswer\":\"Correct answer\",\"wrongAnswer\":\"Wrong answer\",\"feedbackHeader\":\"Feedback\",\"scoreBarLabel\":\"You got :num out of :total points\",\"scoreExplanationButtonLabel\":\"Show score explanation\",\"localize\":{\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit fullscreen\"}}",
"slug": "labeling-golf-ball-principles-of-physics",
"embed_type": "div",
"disable": 9,
"content_type": null,
"authors": null,
"source": null,
"year_from": null,
"year_to": null,
"license": "U",
"license_version": null,
"license_extras": null,
"author_comments": null,
"changes": null,
"default_language": null
},
"is_public": false,
"created_at": null,
"updated_at": null
},
{
"id": 17774,
"playlist_id": 1,
"title": "Latest",
"type": "h5p",
"content": "test",
"shared": false,
"order": null,
"thumb_url": "/storage/activities/DrV6rZ6ZDXFMT1k51gbOqw04rqguq6CMtiiD1nDH.png",
"subject_id": "Mathematics",
"education_level_id": null,
"h5p_content": {
"id": 19334,
"created_at": "2020-08-30T20:09:56.000000Z",
"updated_at": "2020-08-30T20:09:56.000000Z",
"user_id": 1,
"title": "Latest",
"library_id": 98,
"parameters": "{\"l10n\":{\"recordAnswer\":\"Record\",\"pause\":\"Pause\",\"continue\":\"Continue\",\"download\":\"Download\",\"done\":\"Done\",\"retry\":\"Retry\",\"microphoneNotSupported\":\"Microphone not supported. Make sure you are using a browser that allows microphone recording.\",\"microphoneInaccessible\":\"Microphone is not accessible. Make sure that the browser microphone is enabled.\",\"insecureNotAllowed\":\"Access to microphone is not allowed in your browser since this page is not served using HTTPS. Please contact the author, and ask him to make this available using HTTPS\",\"statusReadyToRecord\":\"Press a button below to record your answer.\",\"statusRecording\":\"Recording...\",\"statusPaused\":\"Recording paused. Press a button to continue recording.\",\"statusFinishedRecording\":\"You have successfully recorded your answer! Listen to the recording below.\",\"downloadRecording\":\"Download this recording or retry.\",\"retryDialogHeaderText\":\"Retry recording?\",\"retryDialogBodyText\":\"By pressing \\\"Retry\\\" you will lose your current recording.\",\"retryDialogConfirmText\":\"Retry\",\"retryDialogCancelText\":\"Cancel\",\"statusCantCreateTheAudioFile\":\"Can't create the audio file.\"}}",
"filtered": "",
"slug": "latest",
"embed_type": "div",
"disable": 9,
"content_type": null,
"authors": null,
"source": null,
"year_from": null,
"year_to": null,
"license": "U",
"license_version": null,
"license_extras": null,
"author_comments": null,
"changes": null,
"default_language": null
},
"is_public": false,
"created_at": "2020-08-30T20:22:47.000000Z",
"updated_at": "2020-08-30T20:22:47.000000Z"
},
{
"id": 17776,
"playlist_id": 1,
"title": "Latest",
"type": "h5p",
"content": "test",
"shared": false,
"order": null,
"thumb_url": "/storage/activities/DrV6rZ6ZDXFMT1k51gbOqw04rqguq6CMtiiD1nDH.png",
"subject_id": "Mathematics",
"education_level_id": null,
"h5p_content": {
"id": 19334,
"created_at": "2020-08-30T20:09:56.000000Z",
"updated_at": "2020-08-30T20:09:56.000000Z",
"user_id": 1,
"title": "Latest",
"library_id": 98,
"parameters": "{\"l10n\":{\"recordAnswer\":\"Record\",\"pause\":\"Pause\",\"continue\":\"Continue\",\"download\":\"Download\",\"done\":\"Done\",\"retry\":\"Retry\",\"microphoneNotSupported\":\"Microphone not supported. Make sure you are using a browser that allows microphone recording.\",\"microphoneInaccessible\":\"Microphone is not accessible. Make sure that the browser microphone is enabled.\",\"insecureNotAllowed\":\"Access to microphone is not allowed in your browser since this page is not served using HTTPS. Please contact the author, and ask him to make this available using HTTPS\",\"statusReadyToRecord\":\"Press a button below to record your answer.\",\"statusRecording\":\"Recording...\",\"statusPaused\":\"Recording paused. Press a button to continue recording.\",\"statusFinishedRecording\":\"You have successfully recorded your answer! Listen to the recording below.\",\"downloadRecording\":\"Download this recording or retry.\",\"retryDialogHeaderText\":\"Retry recording?\",\"retryDialogBodyText\":\"By pressing \\\"Retry\\\" you will lose your current recording.\",\"retryDialogConfirmText\":\"Retry\",\"retryDialogCancelText\":\"Cancel\",\"statusCantCreateTheAudioFile\":\"Can't create the audio file.\"}}",
"filtered": "",
"slug": "latest",
"embed_type": "div",
"disable": 9,
"content_type": null,
"authors": null,
"source": null,
"year_from": null,
"year_to": null,
"license": "U",
"license_version": null,
"license_extras": null,
"author_comments": null,
"changes": null,
"default_language": null
},
"is_public": false,
"created_at": "2020-08-30T20:24:29.000000Z",
"updated_at": "2020-08-30T20:24:29.000000Z"
},
{
"id": 3,
"playlist_id": 1,
"title": "Physics Vocabulary Study Guide",
"type": "h5p",
"content": "",
"shared": false,
"order": 1,
"thumb_url": null,
"subject_id": null,
"education_level_id": null,
"h5p_content": {
"id": 61,
"created_at": "2020-04-30T20:35:30.000000Z",
"updated_at": "2020-04-30T20:35:30.000000Z",
"user_id": 1,
"title": "Physics Vocabulary Study Guide",
"library_id": 63,
"parameters": "{\"panels\":[{\"content\":{\"params\":{\"text\":\"<p style=\\\"margin-bottom:10px\\\"><span style=\\\"font-size:11pt\\\"><span style=\\\"line-height:107%\\\"><span style=\\\"font-family:Calibri,sans-serif\\\">Acceleration is the measurement of the change </span></span></span><span style=\\\"font-size:11.0pt\\\"><span style=\\\"line-height:107%\\\"><span style=\\\"font-family:"Calibri",sans-serif\\\">in an object\\u2019s velocity. </span></span></span></p>\\n\"},\"library\":\"H5P.AdvancedText 1.1\",\"subContentId\":\"97578055-d386-46be-afe3-c19eae4108aa\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Acceleration\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Acceleration\"}},\"title\":\"Acceleration\"},{\"content\":{\"params\":{\"text\":\"<p style=\\\"margin-bottom:10px\\\"><span style=\\\"font-size:11pt\\\"><span style=\\\"line-height:107%\\\"><span style=\\\"font-family:Calibri,sans-serif\\\">The faster the air moves, the less pressure it exerts.</span></span></span></p>\\n\"},\"library\":\"H5P.AdvancedText 1.1\",\"subContentId\":\"0ce32fbf-4ff1-465b-9c50-8876c5fef34d\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Bernoulli\\u2019s Principle\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Bernoulli\\u2019s Principle\"}},\"title\":\"Bernoulli\\u2019s Principle\"},{\"content\":{\"params\":{\"text\":\"<p><span style=\\\"font-size:10.5pt\\\"><span style=\\\"line-height:107%\\\"><span style=\\\"font-family:"Calibri",sans-serif\\\"><span style=\\\"color:black\\\">A vector is a quantity that has both a magnitude and a direction.</span></span></span></span></p>\\n\"},\"library\":\"H5P.AdvancedText 1.1\",\"subContentId\":\"cead752e-0c29-4acb-b9ae-2f61a3cd5c9b\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Vector\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Vector\"}},\"title\":\"Vector\"},{\"content\":{\"params\":{\"text\":\"<p><span style=\\\"font-size:10.5pt\\\"><span style=\\\"line-height:107%\\\"><span style=\\\"font-family:"Calibri",sans-serif\\\"><span style=\\\"color:black\\\">Drag is the force that acts opposite to the direction of motion. Drag is caused by friction and differences in air pressure.</span></span></span></span></p>\\n\"},\"library\":\"H5P.AdvancedText 1.1\",\"subContentId\":\"6ae4b819-276d-405e-b085-e894c31484d3\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Drag\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Drag\"}},\"title\":\"Drag\"},{\"content\":{\"params\":{\"text\":\"<p style=\\\"margin-bottom:10px\\\"><span style=\\\"font-size:11pt\\\"><span style=\\\"line-height:normal\\\"><span style=\\\"font-family:Calibri,sans-serif\\\"><span style=\\\"font-size:10.5pt\\\"><span style=\\\"color:black\\\">A turbulent flow is one in which the particles have irregular, fluctuating motions and erratic paths.</span></span></span></span></span></p>\\n\"},\"library\":\"H5P.AdvancedText 1.1\",\"subContentId\":\"f9f63fdd-0a8a-4259-a3f1-ca7271b51727\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Turbulent airflow\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Turbulent airflow\"}},\"title\":\"Turbulent airflow\"},{\"content\":{\"params\":{\"text\":\"<p style=\\\"margin-bottom:10px\\\"><span style=\\\"font-size:11pt\\\"><span style=\\\"line-height:107%\\\"><span style=\\\"font-family:Calibri,sans-serif\\\">Friction is the resistance of motion when one object rubs against another. It is a force and is measured in newtons.</span></span></span></p>\\n\"},\"library\":\"H5P.AdvancedText 1.1\",\"subContentId\":\"236c832f-f754-47d6-8d2c-1311a354d861\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Friction\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Friction\"}},\"title\":\"Friction\"}],\"hTag\":\"h2\"}",
"filtered": "{\"panels\":[{\"content\":{\"params\":{\"text\":\"<p><span><span><span>Acceleration is the measurement of the change </span></span></span><span><span><span>in an object\\u2019s velocity. </span></span></span></p>\\n\"},\"library\":\"H5P.AdvancedText 1.1\",\"subContentId\":\"97578055-d386-46be-afe3-c19eae4108aa\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Acceleration\"}},\"title\":\"Acceleration\"},{\"content\":{\"params\":{\"text\":\"<p><span><span><span>The faster the air moves, the less pressure it exerts.</span></span></span></p>\\n\"},\"library\":\"H5P.AdvancedText 1.1\",\"subContentId\":\"0ce32fbf-4ff1-465b-9c50-8876c5fef34d\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Bernoulli\\u2019s Principle\"}},\"title\":\"Bernoulli\\u2019s Principle\"},{\"content\":{\"params\":{\"text\":\"<p><span><span><span><span>A vector is a quantity that has both a magnitude and a direction.</span></span></span></span></p>\\n\"},\"library\":\"H5P.AdvancedText 1.1\",\"subContentId\":\"cead752e-0c29-4acb-b9ae-2f61a3cd5c9b\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Vector\"}},\"title\":\"Vector\"},{\"content\":{\"params\":{\"text\":\"<p><span><span><span><span>Drag is the force that acts opposite to the direction of motion. Drag is caused by friction and differences in air pressure.</span></span></span></span></p>\\n\"},\"library\":\"H5P.AdvancedText 1.1\",\"subContentId\":\"6ae4b819-276d-405e-b085-e894c31484d3\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Drag\"}},\"title\":\"Drag\"},{\"content\":{\"params\":{\"text\":\"<p><span><span><span><span><span>A turbulent flow is one in which the particles have irregular, fluctuating motions and erratic paths.</span></span></span></span></span></p>\\n\"},\"library\":\"H5P.AdvancedText 1.1\",\"subContentId\":\"f9f63fdd-0a8a-4259-a3f1-ca7271b51727\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Turbulent airflow\"}},\"title\":\"Turbulent airflow\"},{\"content\":{\"params\":{\"text\":\"<p><span><span><span>Friction is the resistance of motion when one object rubs against another. It is a force and is measured in newtons.</span></span></span></p>\\n\"},\"library\":\"H5P.AdvancedText 1.1\",\"subContentId\":\"236c832f-f754-47d6-8d2c-1311a354d861\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Friction\"}},\"title\":\"Friction\"}],\"hTag\":\"h2\"}",
"slug": "physics-vocabulary-study-guide",
"embed_type": "div",
"disable": 9,
"content_type": null,
"authors": null,
"source": null,
"year_from": null,
"year_to": null,
"license": "U",
"license_version": null,
"license_extras": null,
"author_comments": null,
"changes": null,
"default_language": null
},
"is_public": false,
"created_at": null,
"updated_at": null
},
{
"id": 1,
"playlist_id": 1,
"title": "Science of Golf: Why Balls Have Dimples",
"type": "h5p",
"content": "",
"shared": false,
"order": 2,
"thumb_url": null,
"subject_id": null,
"education_level_id": null,
"h5p_content": {
"id": 59,
"created_at": "2020-04-30T20:24:58.000000Z",
"updated_at": "2020-04-30T20:24:58.000000Z",
"user_id": 1,
"title": "Science of Golf: Why Balls Have Dimples",
"library_id": 40,
"parameters": "{\"interactiveVideo\":{\"video\":{\"startScreenOptions\":{\"title\":\"Interactive Video\",\"hideStartTitle\":false},\"textTracks\":{\"videoTrack\":[{\"label\":\"Subtitles\",\"kind\":\"subtitles\",\"srcLang\":\"en\"}]},\"files\":[{\"path\":\"https://youtu.be/fcjaxC-e8oY\",\"mime\":\"video/YouTube\",\"copyright\":{\"license\":\"U\"},\"aspectRatio\":\"16:9\"}]},\"assets\":{\"interactions\":[{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":58.33,\"to\":68.33},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"133bca3d-cfe9-442d-a887-8bf1e2ce682a\",\"question\":\"<p>Why do golf balls have dimples?</p>\\n\",\"answers\":[\"<p>They reduce wind resistance.</p>\\n\",\"<p>They make the ball more visually interesting.</p>\\n\",\"<p>They grip the putting green better than a smooth ball.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"ac029b43-7225-49ed-a2d7-8656037748e0\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Why do golf balls have dimples?\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Why do golf balls have dimples?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Why do golf balls have dimples?</p>\\n\"},{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":132.969,\"to\":142.969},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"308503f3-8d41-4f4f-b016-587bcce3dfac\",\"question\":\"<p>A smooth ball will have a detached airflow, which causes what?</p>\\n\",\"answers\":[\"<p>A low pressure zone, which is what causes drag.</p>\\n\",\"<p>The ball has no spin.</p>\\n\",\"<p>The ball travels higher, but for a shorter distance.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"f70c849d-9542-4f30-9116-8b60b7da708d\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Smooth Ball?\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Smooth Ball?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Smooth Ball</p>\\n\"}],\"bookmarks\":[],\"endscreens\":[{\"time\":295,\"label\":\"4:55 Submit screen\"}]},\"summary\":{\"task\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"8e2cf84f-4557-4f79-a03e-526838498a7d\",\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"8d5527ef-3601-4ad9-9e63-2782c9775173\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Untitled Summary\"}},\"displayAt\":3}},\"override\":{\"autoplay\":false,\"loop\":false,\"showBookmarksmenuOnLoad\":false,\"showRewind10\":false,\"preventSkipping\":false,\"deactivateSound\":false},\"l10n\":{\"interaction\":\"Interaction\",\"play\":\"Play\",\"pause\":\"Pause\",\"mute\":\"Mute\",\"unmute\":\"Unmute\",\"quality\":\"Video Quality\",\"captions\":\"Captions\",\"close\":\"Close\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit Fullscreen\",\"summary\":\"Open summary dialog\",\"bookmarks\":\"Bookmarks\",\"endscreen\":\"Submit screen\",\"defaultAdaptivitySeekLabel\":\"Continue\",\"continueWithVideo\":\"Continue with video\",\"playbackRate\":\"Playback Rate\",\"rewind10\":\"Rewind 10 Seconds\",\"navDisabled\":\"Navigation is disabled\",\"sndDisabled\":\"Sound is disabled\",\"requiresCompletionWarning\":\"You need to answer all the questions correctly before continuing.\",\"back\":\"Back\",\"hours\":\"Hours\",\"minutes\":\"Minutes\",\"seconds\":\"Seconds\",\"currentTime\":\"Current time:\",\"totalTime\":\"Total time:\",\"singleInteractionAnnouncement\":\"Interaction appeared:\",\"multipleInteractionsAnnouncement\":\"Multiple interactions appeared.\",\"videoPausedAnnouncement\":\"Video is paused\",\"content\":\"Content\",\"answered\":\"@answered answered\",\"endcardTitle\":\"@answered Question(s) answered\",\"endcardInformation\":\"You have answered @answered questions, click below to submit your answers.\",\"endcardInformationNoAnswers\":\"You have not answered any questions.\",\"endcardInformationMustHaveAnswer\":\"You have to answer at least one question before you can submit your answers.\",\"endcardSubmitButton\":\"Submit Answers\",\"endcardSubmitMessage\":\"Your answers have been submitted!\",\"endcardTableRowAnswered\":\"Answered questions\",\"endcardTableRowScore\":\"Score\",\"endcardAnsweredScore\":\"answered\",\"endCardTableRowSummaryWithScore\":\"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\"endCardTableRowSummaryWithoutScore\":\"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\"}}",
"filtered": "{\"interactiveVideo\":{\"video\":{\"startScreenOptions\":{\"title\":\"Interactive Video\",\"hideStartTitle\":false},\"textTracks\":{\"videoTrack\":[{\"label\":\"Subtitles\",\"kind\":\"subtitles\",\"srcLang\":\"en\"}]},\"files\":[{\"path\":\"https://youtu.be/fcjaxC-e8oY\",\"mime\":\"video/YouTube\",\"copyright\":{\"license\":\"U\"}}]},\"assets\":{\"interactions\":[{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":58.33,\"to\":68.33},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"133bca3d-cfe9-442d-a887-8bf1e2ce682a\",\"question\":\"<p>Why do golf balls have dimples?</p>\\n\",\"answers\":[\"<p>They reduce wind resistance.</p>\\n\",\"<p>They make the ball more visually interesting.</p>\\n\",\"<p>They grip the putting green better than a smooth ball.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"ac029b43-7225-49ed-a2d7-8656037748e0\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Why do golf balls have dimples?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Why do golf balls have dimples?</p>\\n\"},{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":132.969,\"to\":142.969},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"308503f3-8d41-4f4f-b016-587bcce3dfac\",\"question\":\"<p>A smooth ball will have a detached airflow, which causes what?</p>\\n\",\"answers\":[\"<p>A low pressure zone, which is what causes drag.</p>\\n\",\"<p>The ball has no spin.</p>\\n\",\"<p>The ball travels higher, but for a shorter distance.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"f70c849d-9542-4f30-9116-8b60b7da708d\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Smooth Ball?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Smooth Ball</p>\\n\"}],\"endscreens\":[{\"time\":295,\"label\":\"4:55 Submit screen\"}]},\"summary\":{\"task\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"8e2cf84f-4557-4f79-a03e-526838498a7d\",\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"8d5527ef-3601-4ad9-9e63-2782c9775173\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\"}},\"displayAt\":3}},\"override\":{\"autoplay\":false,\"loop\":false,\"showBookmarksmenuOnLoad\":false,\"showRewind10\":false,\"preventSkipping\":false,\"deactivateSound\":false},\"l10n\":{\"interaction\":\"Interaction\",\"play\":\"Play\",\"pause\":\"Pause\",\"mute\":\"Mute\",\"unmute\":\"Unmute\",\"quality\":\"Video Quality\",\"captions\":\"Captions\",\"close\":\"Close\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit Fullscreen\",\"summary\":\"Open summary dialog\",\"bookmarks\":\"Bookmarks\",\"endscreen\":\"Submit screen\",\"defaultAdaptivitySeekLabel\":\"Continue\",\"continueWithVideo\":\"Continue with video\",\"playbackRate\":\"Playback Rate\",\"rewind10\":\"Rewind 10 Seconds\",\"navDisabled\":\"Navigation is disabled\",\"sndDisabled\":\"Sound is disabled\",\"requiresCompletionWarning\":\"You need to answer all the questions correctly before continuing.\",\"back\":\"Back\",\"hours\":\"Hours\",\"minutes\":\"Minutes\",\"seconds\":\"Seconds\",\"currentTime\":\"Current time:\",\"totalTime\":\"Total time:\",\"singleInteractionAnnouncement\":\"Interaction appeared:\",\"multipleInteractionsAnnouncement\":\"Multiple interactions appeared.\",\"videoPausedAnnouncement\":\"Video is paused\",\"content\":\"Content\",\"answered\":\"@answered answered\",\"endcardTitle\":\"@answered Question(s) answered\",\"endcardInformation\":\"You have answered @answered questions, click below to submit your answers.\",\"endcardInformationNoAnswers\":\"You have not answered any questions.\",\"endcardInformationMustHaveAnswer\":\"You have to answer at least one question before you can submit your answers.\",\"endcardSubmitButton\":\"Submit Answers\",\"endcardSubmitMessage\":\"Your answers have been submitted!\",\"endcardTableRowAnswered\":\"Answered questions\",\"endcardTableRowScore\":\"Score\",\"endcardAnsweredScore\":\"answered\",\"endCardTableRowSummaryWithScore\":\"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\"endCardTableRowSummaryWithoutScore\":\"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\"}}",
"slug": "science-of-golf-why-balls-have-dimples",
"embed_type": "div",
"disable": 9,
"content_type": null,
"authors": null,
"source": null,
"year_from": null,
"year_to": null,
"license": "U",
"license_version": null,
"license_extras": null,
"author_comments": null,
"changes": null,
"default_language": null
},
"is_public": false,
"created_at": null,
"updated_at": null
},
{
"id": 2,
"playlist_id": 1,
"title": "Physics and Golf Balls",
"type": "h5p",
"content": "",
"shared": false,
"order": 3,
"thumb_url": null,
"subject_id": null,
"education_level_id": null,
"h5p_content": {
"id": 60,
"created_at": "2020-04-30T20:31:11.000000Z",
"updated_at": "2020-04-30T20:31:11.000000Z",
"user_id": 1,
"title": "Physics and Golf Balls",
"library_id": 60,
"parameters": "{\"cards\":[{\"text\":\"Is the measurement of the change in an object\\u2019s velocity called Speed or Acceleration?\",\"answer\":\"Acceleration\",\"image\":{\"path\":\"images/image-5eab35098aaf0.png#tmp\",\"mime\":\"image/png\",\"copyright\":{\"license\":\"U\"},\"width\":1280,\"height\":720},\"tip\":\"\"},{\"text\":\"Dimples reduce wind resistance or aerodynamic drag. Does that make the ball go farther or faster?\",\"answer\":\"Farther\",\"image\":{\"path\":\"images/image-5eab355f7ca78.jpg#tmp\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":1280,\"height\":720},\"tip\":\"\"},{\"text\":\"Do dimples on a ball increase or decrease the lift?\",\"answer\":\"Increase\",\"image\":{\"path\":\"images/image-5eab3589be9e3.jpg#tmp\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":634,\"height\":508},\"tip\":\"\"}],\"progressText\":\"Card @card of @total\",\"next\":\"Next\",\"previous\":\"Previous\",\"checkAnswerText\":\"Check\",\"showSolutionsRequiresInput\":true,\"defaultAnswerText\":\"Your answer\",\"correctAnswerText\":\"Correct\",\"incorrectAnswerText\":\"Incorrect\",\"showSolutionText\":\"Correct answer\",\"results\":\"Results\",\"ofCorrect\":\"@score of @total correct\",\"showResults\":\"Show results\",\"answerShortText\":\"A:\",\"retry\":\"Retry\",\"caseSensitive\":false,\"cardAnnouncement\":\"Incorrect answer. Correct answer was @answer\",\"pageAnnouncement\":\"Page @current of @total\",\"description\":\"See if you can remember what you learned!\"}",
"filtered": "{\"cards\":[{\"text\":\"Is the measurement of the change in an object\\u2019s velocity called Speed or Acceleration?\",\"answer\":\"Acceleration\",\"image\":{\"path\":\"images/image-5eab35098aaf0.png\",\"mime\":\"image/png\",\"copyright\":{\"license\":\"U\"},\"width\":1280,\"height\":720},\"tip\":\"\"},{\"text\":\"Dimples reduce wind resistance or aerodynamic drag. Does that make the ball go farther or faster?\",\"answer\":\"Farther\",\"image\":{\"path\":\"images/image-5eab355f7ca78.jpg\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":1280,\"height\":720},\"tip\":\"\"},{\"text\":\"Do dimples on a ball increase or decrease the lift?\",\"answer\":\"Increase\",\"image\":{\"path\":\"images/image-5eab3589be9e3.jpg\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":634,\"height\":508},\"tip\":\"\"}],\"progressText\":\"Card @card of @total\",\"next\":\"Next\",\"previous\":\"Previous\",\"checkAnswerText\":\"Check\",\"showSolutionsRequiresInput\":true,\"defaultAnswerText\":\"Your answer\",\"correctAnswerText\":\"Correct\",\"incorrectAnswerText\":\"Incorrect\",\"showSolutionText\":\"Correct answer\",\"results\":\"Results\",\"ofCorrect\":\"@score of @total correct\",\"showResults\":\"Show results\",\"answerShortText\":\"A:\",\"retry\":\"Retry\",\"caseSensitive\":false,\"cardAnnouncement\":\"Incorrect answer. Correct answer was @answer\",\"pageAnnouncement\":\"Page @current of @total\",\"description\":\"See if you can remember what you learned!\"}",
"slug": "physics-and-golf-balls",
"embed_type": "div",
"disable": 9,
"content_type": null,
"authors": null,
"source": null,
"year_from": null,
"year_to": null,
"license": "U",
"license_version": null,
"license_extras": null,
"author_comments": null,
"changes": null,
"default_language": null
},
"is_public": false,
"created_at": null,
"updated_at": null
},
{
"id": 6,
"playlist_id": 1,
"title": "Understanding Gear Effect | Equipment and Tech | 18Birdies",
"type": "h5p",
"content": "",
"shared": false,
"order": 4,
"thumb_url": null,
"subject_id": null,
"education_level_id": null,
"h5p_content": {
"id": 75,
"created_at": "2020-05-01T04:51:11.000000Z",
"updated_at": "2020-05-01T04:51:11.000000Z",
"user_id": 1,
"title": "Understanding Gear Effect | Equipment and Tech | 18Birdies",
"library_id": 40,
"parameters": "{\"interactiveVideo\":{\"video\":{\"startScreenOptions\":{\"title\":\"Interactive Video\",\"hideStartTitle\":false},\"textTracks\":{\"videoTrack\":[{\"label\":\"Subtitles\",\"kind\":\"subtitles\",\"srcLang\":\"en\"}]},\"files\":[{\"path\":\"https://www.youtube.com/watch?v=FdH0JQL5E-U&list=PLVIShUJLAj0rWw3Yr3VtFGH4IbIVMfQFo\",\"mime\":\"video/YouTube\",\"copyright\":{\"license\":\"U\"},\"aspectRatio\":\"16:9\"}]},\"assets\":{\"interactions\":[{\"x\":46.87499999999999,\"y\":44.44444444444444,\"width\":10,\"height\":10,\"duration\":{\"from\":52,\"to\":52},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"c9f0c83d-2ba2-4810-843a-1ee7bec2076f\",\"question\":\"<p>\\\"Torque\\\" is a property of golf shafts that describes how much the shaft is prone to twisting during the golf swing.</p>\\n\",\"answers\":[\"<p>True</p>\\n\",\"<p>False</p>\\n\"]},{\"subContentId\":\"81f2e02c-0f04-44a3-922c-4eac61a11acb\",\"question\":\"<p>... A shaft with a _____ torque rating means the shaft better resists twisting; a shaft with a ____ torque rating means the shaft is more prone to twisting (all other things being equal).</p>\\n\",\"answers\":[\"<p>lower, higher</p>\\n\",\"<p>higher, lower</p>\\n\",\"<p>sharper, duller</p>\\n\",\"<p>straigher, curved</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"eadebb1e-891e-4ff3-8676-943c2616a9e0\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Untitled Single Choice Set\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Untitled Single Choice Set\"}},\"pause\":true,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"\"},{\"x\":46.87499999999999,\"y\":44.44444444444444,\"width\":10,\"height\":10,\"duration\":{\"from\":24.314,\"to\":34.314},\"libraryTitle\":\"Statements\",\"action\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"7bce98af-5267-4ca6-a08c-0c8f2bef5afb\",\"summary\":[\"Gear effect is the term used to explain how and why hitting the ball off-center changes the ball flight.\\n\",\"<p>Gear effect is the term used to explain how and why it is imprtant to adjust the pressure on the clubhead.</p>\\n\",\"<p>Gear effect is the term used to explain how and why it is imprtant to ride your bike to the course.</p>\\n\"],\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"3b954191-ad43-452c-95c3-868047eb55be\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Untitled Summary\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"}},\"label\":\"\"},{\"x\":46.87499999999999,\"y\":44.44444444444444,\"width\":10,\"height\":10,\"duration\":{\"from\":145.688,\"to\":155.688},\"libraryTitle\":\"Multiple Choice\",\"action\":{\"library\":\"H5P.MultiChoice 1.14\",\"params\":{\"media\":{\"type\":{\"params\":{}},\"disableImageZooming\":false},\"answers\":[{\"correct\":true,\"tipsAndFeedback\":{\"tip\":\"\",\"chosenFeedback\":\"\",\"notChosenFeedback\":\"\"},\"text\":\"<div>This pushes the ball to the right, causing a fade slice curved flight.</div>\\n\"},{\"correct\":false,\"tipsAndFeedback\":{\"tip\":\"\",\"chosenFeedback\":\"\",\"notChosenFeedback\":\"\"},\"text\":\"<div>This pushes the ball to the left, causing a <strong>slice</strong> curved flight.</div>\\n\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"enableRetry\":true,\"enableSolutionsButton\":true,\"enableCheckButton\":true,\"type\":\"auto\",\"singlePoint\":false,\"randomAnswers\":true,\"showSolutionsRequiresInput\":true,\"confirmCheckDialog\":false,\"confirmRetryDialog\":false,\"autoCheck\":false,\"passPercentage\":100,\"showScorePoints\":true},\"UI\":{\"checkAnswerButton\":\"Check\",\"showSolutionButton\":\"Show solution\",\"tryAgainButton\":\"Retry\",\"tipsLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"tipAvailable\":\"Tip available\",\"feedbackAvailable\":\"Feedback available\",\"readFeedback\":\"Read feedback\",\"wrongAnswer\":\"Wrong answer\",\"correctAnswer\":\"Correct answer\",\"shouldCheck\":\"Should have been checked\",\"shouldNotCheck\":\"Should not have been checked\",\"noInput\":\"Please answer before viewing the solution\"},\"confirmCheck\":{\"header\":\"Finish ?\",\"body\":\"Are you sure you wish to finish ?\",\"cancelLabel\":\"Cancel\",\"confirmLabel\":\"Finish\"},\"confirmRetry\":{\"header\":\"Retry ?\",\"body\":\"Are you sure you wish to retry ?\",\"cancelLabel\":\"Cancel\",\"confirmLabel\":\"Confirm\"},\"question\":\"<p>When a ball is spinning in a clockwise direction, there is high pressure on the left hand side of the ball, and low pressure on the right.</p>\\n\"},\"subContentId\":\"df5e99b0-6513-4aa9-a760-e3d9e2bfefe9\",\"metadata\":{\"contentType\":\"Multiple Choice\",\"license\":\"U\",\"title\":\"Untitled Multiple Choice\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Untitled Multiple Choice\"}},\"pause\":true,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"\"}],\"bookmarks\":[],\"endscreens\":[{\"time\":358,\"label\":\"5:58 Submit screen\"}]},\"summary\":{\"task\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"64506cb8-ea40-4c72-8c98-ed0bb3c3b808\",\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"b8eb5a4d-5e2e-4b74-95f5-ca37d1a45186\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Untitled Summary\"}},\"displayAt\":3}},\"override\":{\"autoplay\":true,\"loop\":false,\"showBookmarksmenuOnLoad\":false,\"showRewind10\":false,\"preventSkipping\":false,\"deactivateSound\":false,\"startVideoAt\":37},\"l10n\":{\"interaction\":\"Interaction\",\"play\":\"Play\",\"pause\":\"Pause\",\"mute\":\"Mute\",\"unmute\":\"Unmute\",\"quality\":\"Video Quality\",\"captions\":\"Captions\",\"close\":\"Close\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit Fullscreen\",\"summary\":\"Open summary dialog\",\"bookmarks\":\"Bookmarks\",\"endscreen\":\"Submit screen\",\"defaultAdaptivitySeekLabel\":\"Continue\",\"continueWithVideo\":\"Continue with video\",\"playbackRate\":\"Playback Rate\",\"rewind10\":\"Rewind 10 Seconds\",\"navDisabled\":\"Navigation is disabled\",\"sndDisabled\":\"Sound is disabled\",\"requiresCompletionWarning\":\"You need to answer all the questions correctly before continuing.\",\"back\":\"Back\",\"hours\":\"Hours\",\"minutes\":\"Minutes\",\"seconds\":\"Seconds\",\"currentTime\":\"Current time:\",\"totalTime\":\"Total time:\",\"singleInteractionAnnouncement\":\"Interaction appeared:\",\"multipleInteractionsAnnouncement\":\"Multiple interactions appeared.\",\"videoPausedAnnouncement\":\"Video is paused\",\"content\":\"Content\",\"answered\":\"@answered answered\",\"endcardTitle\":\"@answered Question(s) answered\",\"endcardInformation\":\"You have answered @answered questions, click below to submit your answers.\",\"endcardInformationNoAnswers\":\"You have not answered any questions.\",\"endcardInformationMustHaveAnswer\":\"You have to answer at least one question before you can submit your answers.\",\"endcardSubmitButton\":\"Submit Answers\",\"endcardSubmitMessage\":\"Your answers have been submitted!\",\"endcardTableRowAnswered\":\"Answered questions\",\"endcardTableRowScore\":\"Score\",\"endcardAnsweredScore\":\"answered\",\"endCardTableRowSummaryWithScore\":\"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\"endCardTableRowSummaryWithoutScore\":\"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\"}}",
"filtered": "{\"interactiveVideo\":{\"video\":{\"startScreenOptions\":{\"title\":\"Interactive Video\",\"hideStartTitle\":false},\"textTracks\":{\"videoTrack\":[{\"label\":\"Subtitles\",\"kind\":\"subtitles\",\"srcLang\":\"en\"}]},\"files\":[{\"path\":\"https://www.youtube.com/watch?v=FdH0JQL5E-U&list=PLVIShUJLAj0rWw3Yr3VtFGH4IbIVMfQFo\",\"mime\":\"video/YouTube\",\"copyright\":{\"license\":\"U\"}}]},\"assets\":{\"interactions\":[{\"x\":46.87499999999999,\"y\":44.44444444444444,\"width\":10,\"height\":10,\"duration\":{\"from\":52,\"to\":52},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"c9f0c83d-2ba2-4810-843a-1ee7bec2076f\",\"question\":\"<p>\\\"Torque\\\" is a property of golf shafts that describes how much the shaft is prone to twisting during the golf swing.</p>\\n\",\"answers\":[\"<p>True</p>\\n\",\"<p>False</p>\\n\"]},{\"subContentId\":\"81f2e02c-0f04-44a3-922c-4eac61a11acb\",\"question\":\"<p>... A shaft with a _____ torque rating means the shaft better resists twisting; a shaft with a ____ torque rating means the shaft is more prone to twisting (all other things being equal).</p>\\n\",\"answers\":[\"<p>lower, higher</p>\\n\",\"<p>higher, lower</p>\\n\",\"<p>sharper, duller</p>\\n\",\"<p>straigher, curved</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"eadebb1e-891e-4ff3-8676-943c2616a9e0\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Untitled Single Choice Set\"}},\"pause\":true,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"\"},{\"x\":46.87499999999999,\"y\":44.44444444444444,\"width\":10,\"height\":10,\"duration\":{\"from\":24.314,\"to\":34.314},\"libraryTitle\":\"Statements\",\"action\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"7bce98af-5267-4ca6-a08c-0c8f2bef5afb\",\"summary\":[\"Gear effect is the term used to explain how and why hitting the ball off-center changes the ball flight.\\n\",\"<p>Gear effect is the term used to explain how and why it is imprtant to adjust the pressure on the clubhead.</p>\\n\",\"<p>Gear effect is the term used to explain how and why it is imprtant to ride your bike to the course.</p>\\n\"],\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"3b954191-ad43-452c-95c3-868047eb55be\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"}},\"label\":\"\"},{\"x\":46.87499999999999,\"y\":44.44444444444444,\"width\":10,\"height\":10,\"duration\":{\"from\":145.688,\"to\":155.688},\"libraryTitle\":\"Multiple Choice\",\"action\":{\"library\":\"H5P.MultiChoice 1.14\",\"params\":{\"media\":{\"disableImageZooming\":false},\"answers\":[{\"correct\":true,\"tipsAndFeedback\":{\"tip\":\"\",\"chosenFeedback\":\"\",\"notChosenFeedback\":\"\"},\"text\":\"<div>This pushes the ball to the right, causing a fade slice curved flight.</div>\\n\"},{\"correct\":false,\"tipsAndFeedback\":{\"tip\":\"\",\"chosenFeedback\":\"\",\"notChosenFeedback\":\"\"},\"text\":\"<div>This pushes the ball to the left, causing a <strong>slice</strong> curved flight.</div>\\n\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"enableRetry\":true,\"enableSolutionsButton\":true,\"enableCheckButton\":true,\"type\":\"auto\",\"singlePoint\":false,\"randomAnswers\":true,\"showSolutionsRequiresInput\":true,\"confirmCheckDialog\":false,\"confirmRetryDialog\":false,\"autoCheck\":false,\"passPercentage\":100,\"showScorePoints\":true},\"UI\":{\"checkAnswerButton\":\"Check\",\"showSolutionButton\":\"Show solution\",\"tryAgainButton\":\"Retry\",\"tipsLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"tipAvailable\":\"Tip available\",\"feedbackAvailable\":\"Feedback available\",\"readFeedback\":\"Read feedback\",\"wrongAnswer\":\"Wrong answer\",\"correctAnswer\":\"Correct answer\",\"shouldCheck\":\"Should have been checked\",\"shouldNotCheck\":\"Should not have been checked\",\"noInput\":\"Please answer before viewing the solution\"},\"confirmCheck\":{\"header\":\"Finish ?\",\"body\":\"Are you sure you wish to finish ?\",\"cancelLabel\":\"Cancel\",\"confirmLabel\":\"Finish\"},\"confirmRetry\":{\"header\":\"Retry ?\",\"body\":\"Are you sure you wish to retry ?\",\"cancelLabel\":\"Cancel\",\"confirmLabel\":\"Confirm\"},\"question\":\"<p>When a ball is spinning in a clockwise direction, there is high pressure on the left hand side of the ball, and low pressure on the right.</p>\\n\"},\"subContentId\":\"df5e99b0-6513-4aa9-a760-e3d9e2bfefe9\",\"metadata\":{\"contentType\":\"Multiple Choice\",\"license\":\"U\",\"title\":\"Untitled Multiple Choice\"}},\"pause\":true,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"\"}],\"endscreens\":[{\"time\":358,\"label\":\"5:58 Submit screen\"}]},\"summary\":{\"task\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"64506cb8-ea40-4c72-8c98-ed0bb3c3b808\",\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"b8eb5a4d-5e2e-4b74-95f5-ca37d1a45186\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\"}},\"displayAt\":3}},\"override\":{\"autoplay\":true,\"loop\":false,\"showBookmarksmenuOnLoad\":false,\"showRewind10\":false,\"preventSkipping\":false,\"deactivateSound\":false,\"startVideoAt\":37},\"l10n\":{\"interaction\":\"Interaction\",\"play\":\"Play\",\"pause\":\"Pause\",\"mute\":\"Mute\",\"unmute\":\"Unmute\",\"quality\":\"Video Quality\",\"captions\":\"Captions\",\"close\":\"Close\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit Fullscreen\",\"summary\":\"Open summary dialog\",\"bookmarks\":\"Bookmarks\",\"endscreen\":\"Submit screen\",\"defaultAdaptivitySeekLabel\":\"Continue\",\"continueWithVideo\":\"Continue with video\",\"playbackRate\":\"Playback Rate\",\"rewind10\":\"Rewind 10 Seconds\",\"navDisabled\":\"Navigation is disabled\",\"sndDisabled\":\"Sound is disabled\",\"requiresCompletionWarning\":\"You need to answer all the questions correctly before continuing.\",\"back\":\"Back\",\"hours\":\"Hours\",\"minutes\":\"Minutes\",\"seconds\":\"Seconds\",\"currentTime\":\"Current time:\",\"totalTime\":\"Total time:\",\"singleInteractionAnnouncement\":\"Interaction appeared:\",\"multipleInteractionsAnnouncement\":\"Multiple interactions appeared.\",\"videoPausedAnnouncement\":\"Video is paused\",\"content\":\"Content\",\"answered\":\"@answered answered\",\"endcardTitle\":\"@answered Question(s) answered\",\"endcardInformation\":\"You have answered @answered questions, click below to submit your answers.\",\"endcardInformationNoAnswers\":\"You have not answered any questions.\",\"endcardInformationMustHaveAnswer\":\"You have to answer at least one question before you can submit your answers.\",\"endcardSubmitButton\":\"Submit Answers\",\"endcardSubmitMessage\":\"Your answers have been submitted!\",\"endcardTableRowAnswered\":\"Answered questions\",\"endcardTableRowScore\":\"Score\",\"endcardAnsweredScore\":\"answered\",\"endCardTableRowSummaryWithScore\":\"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\"endCardTableRowSummaryWithoutScore\":\"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\"}}",
"slug": "understanding-gear-effect-equipment-and-tech-18birdies",
"embed_type": "div",
"disable": 9,
"content_type": null,
"authors": null,
"source": null,
"year_from": null,
"year_to": null,
"license": "U",
"license_version": null,
"license_extras": null,
"author_comments": null,
"changes": null,
"default_language": null
},
"is_public": false,
"created_at": null,
"updated_at": null
},
{
"id": 5,
"playlist_id": 1,
"title": "The Evolution of the Golf Ball",
"type": "h5p",
"content": "",
"shared": false,
"order": 5,
"thumb_url": null,
"subject_id": null,
"education_level_id": null,
"h5p_content": {
"id": 66,
"created_at": "2020-04-30T23:58:44.000000Z",
"updated_at": "2020-04-30T23:58:44.000000Z",
"user_id": 1,
"title": "The Evolution of the Golf Ball",
"library_id": 61,
"parameters": "{\"timeline\":{\"defaultZoomLevel\":\"0\",\"height\":600,\"asset\":{},\"date\":[{\"asset\":{\"thumbnail\":{\"path\":\"images/thumbnail-5eab648fb61c9.jpeg#tmp\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":234,\"height\":216}},\"startDate\":\"1400\",\"endDate\":\"2020\",\"headline\":\"Origins of Golf\",\"text\":\"<p>Golf is recorded in its first recognizable form in the Eastern Coast of Scotland.</p>\\n\"},{\"asset\":{\"thumbnail\":{\"path\":\"images/thumbnail-5eab64e26de00.jpg#tmp\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":475,\"height\":222}},\"startDate\":\"1600\",\"headline\":\"Wood Golf Balls\",\"text\":\"<p>The first known golf ball was made out of wood, most likely beech, boxroot and similar hardwoods. Wooden clubs were the golf club of choice, which in conjunction with the wood balls would have made your friendly game of golf a rather jarring experience.</p>\\n\"},{\"asset\":{\"thumbnail\":{\"path\":\"images/thumbnail-5eab652f19393.png#tmp\",\"mime\":\"image/png\",\"copyright\":{\"license\":\"U\"},\"width\":1128,\"height\":1096}},\"startDate\":\"1618\",\"headline\":\"Feathery Golf Balls\",\"text\":\"<p>The first \\\"real\\\" golf ball was known as a \\\"feathery\\\"golf ball. Basically, the feathery was a leather sack filled with boiled goose feathers, then stitched up and painted. Feathery golf balls were expensive to make easily damaged and only the privileged few could afford to use them. </p>\\n\\n<p>It was made of cow or horsehide which was stuffed with feathers; most often goose feather. The leather, in order to be easier to work with, was soaked in water. The feathers that were forced into the ball by using a specially designed crutch-handled filling rod were soaked as well. </p>\\n\\n<p>After the ball was carefully hand sewn together, it was left to dry. While the leather shrank, the feathers expanded, which made the ball very hard and compact. </p>\\n\\n<p>Interestingly, the featherie also had excellent flight characteristics as it could reach a distance of up to 175 yards; although the longest recorded distance is more than 361 yards.<br>\\n </p>\\n\"},{\"asset\":{\"thumbnail\":{\"path\":\"images/thumbnail-5eab658fa6bde.jpg#tmp\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":1350,\"height\":759},\"media\":\"https://images.app.goo.gl/MFHFL1dtDiyR5nGq7\"},\"startDate\":\"1848\",\"headline\":\"Cost of Golf Balls\",\"text\":\"<p>In the mid-19th century, most people could only dream of playing golf. There were at the time fewer than 20 golf clubs around the world, with just three being outside Scotland. But that was not the only thing that prevented most people from playing golf. The high cost of golf essentials, especially of golf balls, made the game pretty much inaccessible to ordinary people.31 But that was soon about to change...<br>\\n </p>\\n\"},{\"asset\":{\"thumbnail\":{\"path\":\"images/thumbnail-5eab65cbe1adb.png#tmp\",\"mime\":\"image/png\",\"copyright\":{\"license\":\"U\"},\"width\":944,\"height\":890}},\"startDate\":\"1848\",\"endDate\":\"1890\",\"headline\":\"Gutty Golf Balls\",\"text\":\"<p>It wasn't until 1848 that Rev. Dr. Robert Adams began creating golf balls out of Gutta Percha \\\"Gutty\\\". The Gutty golf ball was created from the dried sap of the Sapodilla tree. It had a rubber-like feel and was formed into ball shapes by heating it up and shaping it while hot. </p>\\n\\n<p>The arrival of the gutta percha ball or \\\"gutty\\\", as it was called, revolutionized the game of golf and allowed its spread to the masses due to its affordability, playability and durability.</p>\\n\"},{\"asset\":{},\"startDate\":\"1899\",\"headline\":\"Hand Hammered Gutta Ball\",\"text\":\"<p>American businessman and inventor Coburn Haskell (1868-1922) got a (joint) patent from the United States Patent Office for the rubber-wound ball47 which would soon lead to another revolution in golf. Widely regarded as the first modern golf ball, Haskell\\u2019s ball was made of a solid rubber-wound core that was covered by guttapercha.</p>\\n\"}],\"language\":\"en\",\"headline\":\"The Evolution of the Golf Ball\",\"text\":\"<div>A golf ball is central to the game of golf. In fact, golf is all about the ball. Well, getting it into the hole in the ground!</div>\\n\",\"backgroundImage\":{\"path\":\"images/backgroundImage-5eab633e2e935.jpg#tmp\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":2139,\"height\":1179}}}",
"filtered": "{\"timeline\":{\"defaultZoomLevel\":\"0\",\"height\":600,\"asset\":{},\"date\":[{\"asset\":{\"thumbnail\":{\"path\":\"images/thumbnail-5eab648fb61c9.jpeg\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":234,\"height\":216}},\"startDate\":\"1400\",\"endDate\":\"2020\",\"headline\":\"Origins of Golf\",\"text\":\"<p>Golf is recorded in its first recognizable form in the Eastern Coast of Scotland.</p>\\n\"},{\"asset\":{\"thumbnail\":{\"path\":\"images/thumbnail-5eab64e26de00.jpg\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":475,\"height\":222}},\"startDate\":\"1600\",\"headline\":\"Wood Golf Balls\",\"text\":\"<p>The first known golf ball was made out of wood, most likely beech, boxroot and similar hardwoods. Wooden clubs were the golf club of choice, which in conjunction with the wood balls would have made your friendly game of golf a rather jarring experience.</p>\\n\"},{\"asset\":{\"thumbnail\":{\"path\":\"images/thumbnail-5eab652f19393.png\",\"mime\":\"image/png\",\"copyright\":{\"license\":\"U\"},\"width\":1128,\"height\":1096}},\"startDate\":\"1618\",\"headline\":\"Feathery Golf Balls\",\"text\":\"<p>The first \\\"real\\\" golf ball was known as a \\\"feathery\\\"golf ball. Basically, the feathery was a leather sack filled with boiled goose feathers, then stitched up and painted. Feathery golf balls were expensive to make easily damaged and only the privileged few could afford to use them. </p>\\n\\n<p>It was made of cow or horsehide which was stuffed with feathers; most often goose feather. The leather, in order to be easier to work with, was soaked in water. The feathers that were forced into the ball by using a specially designed crutch-handled filling rod were soaked as well. </p>\\n\\n<p>After the ball was carefully hand sewn together, it was left to dry. While the leather shrank, the feathers expanded, which made the ball very hard and compact. </p>\\n\\n<p>Interestingly, the featherie also had excellent flight characteristics as it could reach a distance of up to 175 yards; although the longest recorded distance is more than 361 yards.<br>\\n </p>\\n\"},{\"asset\":{\"thumbnail\":{\"path\":\"images/thumbnail-5eab658fa6bde.jpg\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":1350,\"height\":759},\"media\":\"https://images.app.goo.gl/MFHFL1dtDiyR5nGq7\"},\"startDate\":\"1848\",\"headline\":\"Cost of Golf Balls\",\"text\":\"<p>In the mid-19th century, most people could only dream of playing golf. There were at the time fewer than 20 golf clubs around the world, with just three being outside Scotland. But that was not the only thing that prevented most people from playing golf. The high cost of golf essentials, especially of golf balls, made the game pretty much inaccessible to ordinary people.31 But that was soon about to change...<br>\\n </p>\\n\"},{\"asset\":{\"thumbnail\":{\"path\":\"images/thumbnail-5eab65cbe1adb.png\",\"mime\":\"image/png\",\"copyright\":{\"license\":\"U\"},\"width\":944,\"height\":890}},\"startDate\":\"1848\",\"endDate\":\"1890\",\"headline\":\"Gutty Golf Balls\",\"text\":\"<p>It wasn't until 1848 that Rev. Dr. Robert Adams began creating golf balls out of Gutta Percha \\\"Gutty\\\". The Gutty golf ball was created from the dried sap of the Sapodilla tree. It had a rubber-like feel and was formed into ball shapes by heating it up and shaping it while hot. </p>\\n\\n<p>The arrival of the gutta percha ball or \\\"gutty\\\", as it was called, revolutionized the game of golf and allowed its spread to the masses due to its affordability, playability and durability.</p>\\n\"},{\"asset\":{},\"startDate\":\"1899\",\"headline\":\"Hand Hammered Gutta Ball\",\"text\":\"<p>American businessman and inventor Coburn Haskell (1868-1922) got a (joint) patent from the United States Patent Office for the rubber-wound ball47 which would soon lead to another revolution in golf. Widely regarded as the first modern golf ball, Haskell\\u2019s ball was made of a solid rubber-wound core that was covered by guttapercha.</p>\\n\"}],\"language\":\"en\",\"headline\":\"The Evolution of the Golf Ball\",\"text\":\"<div>A golf ball is central to the game of golf. In fact, golf is all about the ball. Well, getting it into the hole in the ground!</div>\\n\",\"backgroundImage\":{\"path\":\"images/backgroundImage-5eab633e2e935.jpg\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":2139,\"height\":1179}}}",
"slug": "the-evolution-of-the-golf-ball",
"embed_type": "div",
"disable": 9,
"content_type": null,
"authors": null,
"source": null,
"year_from": null,
"year_to": null,
"license": "U",
"license_version": null,
"license_extras": null,
"author_comments": null,
"changes": null,
"default_language": null
},
"is_public": false,
"created_at": null,
"updated_at": null
},
{
"id": 7,
"playlist_id": 1,
"title": "Famous Golf Holes",
"type": "h5p",
"content": "",
"shared": false,
"order": 6,
"thumb_url": null,
"subject_id": null,
"education_level_id": null,
"h5p_content": {
"id": 76,
"created_at": "2020-05-01T05:20:54.000000Z",
"updated_at": "2020-05-01T05:20:54.000000Z",
"user_id": 1,
"title": "Famous Golf Holes",
"library_id": 60,
"parameters": "{\"cards\":[{\"answer\":\"7th Hole at Pebble Beach\",\"image\":{\"path\":\"images/image-5eabad2e71b62.jpg#tmp\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":991,\"height\":500},\"tip\":\"<p>Mickey Mantle<br>\\nAT&T Pro Am</p>\\n\"},{\"answer\":\"12th hole at Augusta National\",\"image\":{\"path\":\"images/image-5eabae675c197.jpg#tmp\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":847,\"height\":467},\"tip\":\"\"},{\"answer\":\"7th hole at TPC Sawgrass\",\"image\":{\"path\":\"images/image-5eabaec199254.jpg#tmp\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":1024,\"height\":570},\"tip\":\"\"},{\"answer\":\"The Old Course at St Andrews, #18\",\"image\":{\"path\":\"images/image-5eabafb2400f7.jpg#tmp\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":475,\"height\":367},\"tip\":\"\"},{\"answer\":\"Pine Valley Golf Club, #18\",\"image\":{\"path\":\"images/image-5eabb0ced23c3.jpg#tmp\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":960,\"height\":640},\"tip\":\"\"},{\"answer\":\"Celebrity Course - Indian Wells Golf Resort, #14\",\"image\":{\"path\":\"images/image-5eabb17c9a715.jpg#tmp\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":780,\"height\":490},\"tip\":\"\"}],\"progressText\":\"Card @card of @total\",\"next\":\"Next\",\"previous\":\"Previous\",\"checkAnswerText\":\"Check\",\"showSolutionsRequiresInput\":true,\"defaultAnswerText\":\"Your answer\",\"correctAnswerText\":\"Correct\",\"incorrectAnswerText\":\"Incorrect\",\"showSolutionText\":\"Correct answer\",\"results\":\"Results\",\"ofCorrect\":\"@score of @total correct\",\"showResults\":\"Show results\",\"answerShortText\":\"A:\",\"retry\":\"Retry\",\"caseSensitive\":false,\"cardAnnouncement\":\"Incorrect answer. Correct answer was @answer\",\"pageAnnouncement\":\"Page @current of @total\",\"description\":\"Match the Hole with the Course\"}",
"filtered": "{\"cards\":[{\"answer\":\"7th Hole at Pebble Beach\",\"image\":{\"path\":\"images/image-5eabad2e71b62.jpg\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":991,\"height\":500},\"tip\":\"<p>Mickey Mantle<br>\\nAT&T Pro Am</p>\\n\"},{\"answer\":\"12th hole at Augusta National\",\"image\":{\"path\":\"images/image-5eabae675c197.jpg\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":847,\"height\":467},\"tip\":\"\"},{\"answer\":\"7th hole at TPC Sawgrass\",\"image\":{\"path\":\"images/image-5eabaec199254.jpg\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":1024,\"height\":570},\"tip\":\"\"},{\"answer\":\"The Old Course at St Andrews, #18\",\"image\":{\"path\":\"images/image-5eabafb2400f7.jpg\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":475,\"height\":367},\"tip\":\"\"},{\"answer\":\"Pine Valley Golf Club, #18\",\"image\":{\"path\":\"images/image-5eabb0ced23c3.jpg\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":960,\"height\":640},\"tip\":\"\"},{\"answer\":\"Celebrity Course - Indian Wells Golf Resort, #14\",\"image\":{\"path\":\"images/image-5eabb17c9a715.jpg\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":780,\"height\":490},\"tip\":\"\"}],\"progressText\":\"Card @card of @total\",\"next\":\"Next\",\"previous\":\"Previous\",\"checkAnswerText\":\"Check\",\"showSolutionsRequiresInput\":true,\"defaultAnswerText\":\"Your answer\",\"correctAnswerText\":\"Correct\",\"incorrectAnswerText\":\"Incorrect\",\"showSolutionText\":\"Correct answer\",\"results\":\"Results\",\"ofCorrect\":\"@score of @total correct\",\"showResults\":\"Show results\",\"answerShortText\":\"A:\",\"retry\":\"Retry\",\"caseSensitive\":false,\"cardAnnouncement\":\"Incorrect answer. Correct answer was @answer\",\"pageAnnouncement\":\"Page @current of @total\",\"description\":\"Match the Hole with the Course\"}",
"slug": "famous-golf-holes",
"embed_type": "div",
"disable": 9,
"content_type": null,
"authors": null,
"source": null,
"year_from": null,
"year_to": null,
"license": "U",
"license_version": null,
"license_extras": null,
"author_comments": null,
"changes": null,
"default_language": null
},
"is_public": false,
"created_at": null,
"updated_at": null
}
],
"created_at": null,
"updated_at": null
}
}
Received response:
Request failed with error:
Get H5P Resource Settings
Get H5P Resource Settings for a activity
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/activities/761/h5p-resource-settings" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/activities/761/h5p-resource-settings"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/activities/761/h5p-resource-settings',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (500):
{
"errors": [
"Activity doesn't belong to this user."
]
}
Example response (200):
{
"h5p": {
"id": 59,
"title": "Science of Golf: Why Balls Have Dimples",
"params": "{\"interactiveVideo\":{\"video\":{\"startScreenOptions\":{\"title\":\"Interactive Video\",\"hideStartTitle\":false},\"textTracks\":{\"videoTrack\":[{\"label\":\"Subtitles\",\"kind\":\"subtitles\",\"srcLang\":\"en\"}]},\"files\":[{\"path\":\"https://youtu.be/fcjaxC-e8oY\",\"mime\":\"video/YouTube\",\"copyright\":{\"license\":\"U\"},\"aspectRatio\":\"16:9\"}]},\"assets\":{\"interactions\":[{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":58.33,\"to\":68.33},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"133bca3d-cfe9-442d-a887-8bf1e2ce682a\",\"question\":\"<p>Why do golf balls have dimples?</p>\\n\",\"answers\":[\"<p>They reduce wind resistance.</p>\\n\",\"<p>They make the ball more visually interesting.</p>\\n\",\"<p>They grip the putting green better than a smooth ball.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"ac029b43-7225-49ed-a2d7-8656037748e0\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Why do golf balls have dimples?\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Why do golf balls have dimples?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Why do golf balls have dimples?</p>\\n\"},{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":132.969,\"to\":142.969},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"308503f3-8d41-4f4f-b016-587bcce3dfac\",\"question\":\"<p>A smooth ball will have a detached airflow, which causes what?</p>\\n\",\"answers\":[\"<p>A low pressure zone, which is what causes drag.</p>\\n\",\"<p>The ball has no spin.</p>\\n\",\"<p>The ball travels higher, but for a shorter distance.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"f70c849d-9542-4f30-9116-8b60b7da708d\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Smooth Ball?\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Smooth Ball?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Smooth Ball</p>\\n\"}],\"bookmarks\":[],\"endscreens\":[{\"time\":295,\"label\":\"4:55 Submit screen\"}]},\"summary\":{\"task\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"8e2cf84f-4557-4f79-a03e-526838498a7d\",\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"8d5527ef-3601-4ad9-9e63-2782c9775173\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Untitled Summary\"}},\"displayAt\":3}},\"override\":{\"autoplay\":false,\"loop\":false,\"showBookmarksmenuOnLoad\":false,\"showRewind10\":false,\"preventSkipping\":false,\"deactivateSound\":false},\"l10n\":{\"interaction\":\"Interaction\",\"play\":\"Play\",\"pause\":\"Pause\",\"mute\":\"Mute\",\"unmute\":\"Unmute\",\"quality\":\"Video Quality\",\"captions\":\"Captions\",\"close\":\"Close\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit Fullscreen\",\"summary\":\"Open summary dialog\",\"bookmarks\":\"Bookmarks\",\"endscreen\":\"Submit screen\",\"defaultAdaptivitySeekLabel\":\"Continue\",\"continueWithVideo\":\"Continue with video\",\"playbackRate\":\"Playback Rate\",\"rewind10\":\"Rewind 10 Seconds\",\"navDisabled\":\"Navigation is disabled\",\"sndDisabled\":\"Sound is disabled\",\"requiresCompletionWarning\":\"You need to answer all the questions correctly before continuing.\",\"back\":\"Back\",\"hours\":\"Hours\",\"minutes\":\"Minutes\",\"seconds\":\"Seconds\",\"currentTime\":\"Current time:\",\"totalTime\":\"Total time:\",\"singleInteractionAnnouncement\":\"Interaction appeared:\",\"multipleInteractionsAnnouncement\":\"Multiple interactions appeared.\",\"videoPausedAnnouncement\":\"Video is paused\",\"content\":\"Content\",\"answered\":\"@answered answered\",\"endcardTitle\":\"@answered Question(s) answered\",\"endcardInformation\":\"You have answered @answered questions, click below to submit your answers.\",\"endcardInformationNoAnswers\":\"You have not answered any questions.\",\"endcardInformationMustHaveAnswer\":\"You have to answer at least one question before you can submit your answers.\",\"endcardSubmitButton\":\"Submit Answers\",\"endcardSubmitMessage\":\"Your answers have been submitted!\",\"endcardTableRowAnswered\":\"Answered questions\",\"endcardTableRowScore\":\"Score\",\"endcardAnsweredScore\":\"answered\",\"endCardTableRowSummaryWithScore\":\"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\"endCardTableRowSummaryWithoutScore\":\"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\"}}",
"filtered": "{\"interactiveVideo\":{\"video\":{\"startScreenOptions\":{\"title\":\"Interactive Video\",\"hideStartTitle\":false},\"textTracks\":{\"videoTrack\":[{\"label\":\"Subtitles\",\"kind\":\"subtitles\",\"srcLang\":\"en\"}]},\"files\":[{\"path\":\"https://youtu.be/fcjaxC-e8oY\",\"mime\":\"video/YouTube\",\"copyright\":{\"license\":\"U\"}}]},\"assets\":{\"interactions\":[{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":58.33,\"to\":68.33},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"133bca3d-cfe9-442d-a887-8bf1e2ce682a\",\"question\":\"<p>Why do golf balls have dimples?</p>\\n\",\"answers\":[\"<p>They reduce wind resistance.</p>\\n\",\"<p>They make the ball more visually interesting.</p>\\n\",\"<p>They grip the putting green better than a smooth ball.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"ac029b43-7225-49ed-a2d7-8656037748e0\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Why do golf balls have dimples?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Why do golf balls have dimples?</p>\\n\"},{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":132.969,\"to\":142.969},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"308503f3-8d41-4f4f-b016-587bcce3dfac\",\"question\":\"<p>A smooth ball will have a detached airflow, which causes what?</p>\\n\",\"answers\":[\"<p>A low pressure zone, which is what causes drag.</p>\\n\",\"<p>The ball has no spin.</p>\\n\",\"<p>The ball travels higher, but for a shorter distance.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"f70c849d-9542-4f30-9116-8b60b7da708d\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Smooth Ball?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Smooth Ball</p>\\n\"}],\"endscreens\":[{\"time\":295,\"label\":\"4:55 Submit screen\"}]},\"summary\":{\"task\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"8e2cf84f-4557-4f79-a03e-526838498a7d\",\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"8d5527ef-3601-4ad9-9e63-2782c9775173\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\"}},\"displayAt\":3}},\"override\":{\"autoplay\":false,\"loop\":false,\"showBookmarksmenuOnLoad\":false,\"showRewind10\":false,\"preventSkipping\":false,\"deactivateSound\":false},\"l10n\":{\"interaction\":\"Interaction\",\"play\":\"Play\",\"pause\":\"Pause\",\"mute\":\"Mute\",\"unmute\":\"Unmute\",\"quality\":\"Video Quality\",\"captions\":\"Captions\",\"close\":\"Close\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit Fullscreen\",\"summary\":\"Open summary dialog\",\"bookmarks\":\"Bookmarks\",\"endscreen\":\"Submit screen\",\"defaultAdaptivitySeekLabel\":\"Continue\",\"continueWithVideo\":\"Continue with video\",\"playbackRate\":\"Playback Rate\",\"rewind10\":\"Rewind 10 Seconds\",\"navDisabled\":\"Navigation is disabled\",\"sndDisabled\":\"Sound is disabled\",\"requiresCompletionWarning\":\"You need to answer all the questions correctly before continuing.\",\"back\":\"Back\",\"hours\":\"Hours\",\"minutes\":\"Minutes\",\"seconds\":\"Seconds\",\"currentTime\":\"Current time:\",\"totalTime\":\"Total time:\",\"singleInteractionAnnouncement\":\"Interaction appeared:\",\"multipleInteractionsAnnouncement\":\"Multiple interactions appeared.\",\"videoPausedAnnouncement\":\"Video is paused\",\"content\":\"Content\",\"answered\":\"@answered answered\",\"endcardTitle\":\"@answered Question(s) answered\",\"endcardInformation\":\"You have answered @answered questions, click below to submit your answers.\",\"endcardInformationNoAnswers\":\"You have not answered any questions.\",\"endcardInformationMustHaveAnswer\":\"You have to answer at least one question before you can submit your answers.\",\"endcardSubmitButton\":\"Submit Answers\",\"endcardSubmitMessage\":\"Your answers have been submitted!\",\"endcardTableRowAnswered\":\"Answered questions\",\"endcardTableRowScore\":\"Score\",\"endcardAnsweredScore\":\"answered\",\"endCardTableRowSummaryWithScore\":\"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\"endCardTableRowSummaryWithoutScore\":\"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\"}}",
"slug": "science-of-golf-why-balls-have-dimples",
"user_id": 1,
"embedType": "div",
"disable": 9,
"libraryMajorVersion": 1,
"libraryMinorVersion": 21,
"authors": null,
"source": null,
"yearFrom": null,
"yearTo": null,
"licenseVersion": null,
"licenseExtras": null,
"authorComments": null,
"changes": null,
"defaultLanguage": null,
"metadata": {
"title": "Science of Golf: Why Balls Have Dimples",
"license": "U"
},
"library": {
"id": 40,
"name": "H5P.InteractiveVideo",
"majorVersion": 1,
"minorVersion": 21,
"embedTypes": "iframe",
"fullscreen": 1
},
"language": "en",
"tags": ""
},
"activity": {
"id": 1,
"playlist_id": 1,
"title": "Science of Golf: Why Balls Have Dimples",
"type": "h5p",
"content": "",
"shared": false,
"order": 2,
"thumb_url": null,
"subject_id": null,
"education_level_id": null,
"h5p_content": {
"id": 59,
"created_at": "2020-04-30T20:24:58.000000Z",
"updated_at": "2020-04-30T20:24:58.000000Z",
"user_id": 1,
"title": "Science of Golf: Why Balls Have Dimples",
"library_id": 40,
"parameters": "{\"interactiveVideo\":{\"video\":{\"startScreenOptions\":{\"title\":\"Interactive Video\",\"hideStartTitle\":false},\"textTracks\":{\"videoTrack\":[{\"label\":\"Subtitles\",\"kind\":\"subtitles\",\"srcLang\":\"en\"}]},\"files\":[{\"path\":\"https://youtu.be/fcjaxC-e8oY\",\"mime\":\"video/YouTube\",\"copyright\":{\"license\":\"U\"},\"aspectRatio\":\"16:9\"}]},\"assets\":{\"interactions\":[{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":58.33,\"to\":68.33},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"133bca3d-cfe9-442d-a887-8bf1e2ce682a\",\"question\":\"<p>Why do golf balls have dimples?</p>\\n\",\"answers\":[\"<p>They reduce wind resistance.</p>\\n\",\"<p>They make the ball more visually interesting.</p>\\n\",\"<p>They grip the putting green better than a smooth ball.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"ac029b43-7225-49ed-a2d7-8656037748e0\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Why do golf balls have dimples?\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Why do golf balls have dimples?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Why do golf balls have dimples?</p>\\n\"},{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":132.969,\"to\":142.969},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"308503f3-8d41-4f4f-b016-587bcce3dfac\",\"question\":\"<p>A smooth ball will have a detached airflow, which causes what?</p>\\n\",\"answers\":[\"<p>A low pressure zone, which is what causes drag.</p>\\n\",\"<p>The ball has no spin.</p>\\n\",\"<p>The ball travels higher, but for a shorter distance.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"f70c849d-9542-4f30-9116-8b60b7da708d\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Smooth Ball?\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Smooth Ball?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Smooth Ball</p>\\n\"}],\"bookmarks\":[],\"endscreens\":[{\"time\":295,\"label\":\"4:55 Submit screen\"}]},\"summary\":{\"task\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"8e2cf84f-4557-4f79-a03e-526838498a7d\",\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"8d5527ef-3601-4ad9-9e63-2782c9775173\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Untitled Summary\"}},\"displayAt\":3}},\"override\":{\"autoplay\":false,\"loop\":false,\"showBookmarksmenuOnLoad\":false,\"showRewind10\":false,\"preventSkipping\":false,\"deactivateSound\":false},\"l10n\":{\"interaction\":\"Interaction\",\"play\":\"Play\",\"pause\":\"Pause\",\"mute\":\"Mute\",\"unmute\":\"Unmute\",\"quality\":\"Video Quality\",\"captions\":\"Captions\",\"close\":\"Close\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit Fullscreen\",\"summary\":\"Open summary dialog\",\"bookmarks\":\"Bookmarks\",\"endscreen\":\"Submit screen\",\"defaultAdaptivitySeekLabel\":\"Continue\",\"continueWithVideo\":\"Continue with video\",\"playbackRate\":\"Playback Rate\",\"rewind10\":\"Rewind 10 Seconds\",\"navDisabled\":\"Navigation is disabled\",\"sndDisabled\":\"Sound is disabled\",\"requiresCompletionWarning\":\"You need to answer all the questions correctly before continuing.\",\"back\":\"Back\",\"hours\":\"Hours\",\"minutes\":\"Minutes\",\"seconds\":\"Seconds\",\"currentTime\":\"Current time:\",\"totalTime\":\"Total time:\",\"singleInteractionAnnouncement\":\"Interaction appeared:\",\"multipleInteractionsAnnouncement\":\"Multiple interactions appeared.\",\"videoPausedAnnouncement\":\"Video is paused\",\"content\":\"Content\",\"answered\":\"@answered answered\",\"endcardTitle\":\"@answered Question(s) answered\",\"endcardInformation\":\"You have answered @answered questions, click below to submit your answers.\",\"endcardInformationNoAnswers\":\"You have not answered any questions.\",\"endcardInformationMustHaveAnswer\":\"You have to answer at least one question before you can submit your answers.\",\"endcardSubmitButton\":\"Submit Answers\",\"endcardSubmitMessage\":\"Your answers have been submitted!\",\"endcardTableRowAnswered\":\"Answered questions\",\"endcardTableRowScore\":\"Score\",\"endcardAnsweredScore\":\"answered\",\"endCardTableRowSummaryWithScore\":\"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\"endCardTableRowSummaryWithoutScore\":\"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\"}}",
"filtered": "{\"interactiveVideo\":{\"video\":{\"startScreenOptions\":{\"title\":\"Interactive Video\",\"hideStartTitle\":false},\"textTracks\":{\"videoTrack\":[{\"label\":\"Subtitles\",\"kind\":\"subtitles\",\"srcLang\":\"en\"}]},\"files\":[{\"path\":\"https://youtu.be/fcjaxC-e8oY\",\"mime\":\"video/YouTube\",\"copyright\":{\"license\":\"U\"}}]},\"assets\":{\"interactions\":[{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":58.33,\"to\":68.33},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"133bca3d-cfe9-442d-a887-8bf1e2ce682a\",\"question\":\"<p>Why do golf balls have dimples?</p>\\n\",\"answers\":[\"<p>They reduce wind resistance.</p>\\n\",\"<p>They make the ball more visually interesting.</p>\\n\",\"<p>They grip the putting green better than a smooth ball.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"ac029b43-7225-49ed-a2d7-8656037748e0\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Why do golf balls have dimples?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Why do golf balls have dimples?</p>\\n\"},{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":132.969,\"to\":142.969},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"308503f3-8d41-4f4f-b016-587bcce3dfac\",\"question\":\"<p>A smooth ball will have a detached airflow, which causes what?</p>\\n\",\"answers\":[\"<p>A low pressure zone, which is what causes drag.</p>\\n\",\"<p>The ball has no spin.</p>\\n\",\"<p>The ball travels higher, but for a shorter distance.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"f70c849d-9542-4f30-9116-8b60b7da708d\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Smooth Ball?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Smooth Ball</p>\\n\"}],\"endscreens\":[{\"time\":295,\"label\":\"4:55 Submit screen\"}]},\"summary\":{\"task\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"8e2cf84f-4557-4f79-a03e-526838498a7d\",\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"8d5527ef-3601-4ad9-9e63-2782c9775173\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\"}},\"displayAt\":3}},\"override\":{\"autoplay\":false,\"loop\":false,\"showBookmarksmenuOnLoad\":false,\"showRewind10\":false,\"preventSkipping\":false,\"deactivateSound\":false},\"l10n\":{\"interaction\":\"Interaction\",\"play\":\"Play\",\"pause\":\"Pause\",\"mute\":\"Mute\",\"unmute\":\"Unmute\",\"quality\":\"Video Quality\",\"captions\":\"Captions\",\"close\":\"Close\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit Fullscreen\",\"summary\":\"Open summary dialog\",\"bookmarks\":\"Bookmarks\",\"endscreen\":\"Submit screen\",\"defaultAdaptivitySeekLabel\":\"Continue\",\"continueWithVideo\":\"Continue with video\",\"playbackRate\":\"Playback Rate\",\"rewind10\":\"Rewind 10 Seconds\",\"navDisabled\":\"Navigation is disabled\",\"sndDisabled\":\"Sound is disabled\",\"requiresCompletionWarning\":\"You need to answer all the questions correctly before continuing.\",\"back\":\"Back\",\"hours\":\"Hours\",\"minutes\":\"Minutes\",\"seconds\":\"Seconds\",\"currentTime\":\"Current time:\",\"totalTime\":\"Total time:\",\"singleInteractionAnnouncement\":\"Interaction appeared:\",\"multipleInteractionsAnnouncement\":\"Multiple interactions appeared.\",\"videoPausedAnnouncement\":\"Video is paused\",\"content\":\"Content\",\"answered\":\"@answered answered\",\"endcardTitle\":\"@answered Question(s) answered\",\"endcardInformation\":\"You have answered @answered questions, click below to submit your answers.\",\"endcardInformationNoAnswers\":\"You have not answered any questions.\",\"endcardInformationMustHaveAnswer\":\"You have to answer at least one question before you can submit your answers.\",\"endcardSubmitButton\":\"Submit Answers\",\"endcardSubmitMessage\":\"Your answers have been submitted!\",\"endcardTableRowAnswered\":\"Answered questions\",\"endcardTableRowScore\":\"Score\",\"endcardAnsweredScore\":\"answered\",\"endCardTableRowSummaryWithScore\":\"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\"endCardTableRowSummaryWithoutScore\":\"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\"}}",
"slug": "science-of-golf-why-balls-have-dimples",
"embed_type": "div",
"disable": 9,
"content_type": null,
"authors": null,
"source": null,
"year_from": null,
"year_to": null,
"license": "U",
"license_version": null,
"license_extras": null,
"author_comments": null,
"changes": null,
"default_language": null
},
"is_public": false,
"created_at": null,
"updated_at": null
},
"playlist": {
"id": 1,
"title": "The Engineering & Design Behind Golf Balls",
"order": 0,
"is_public": true,
"project_id": 1,
"project": {
"id": 1,
"name": "The Science of Golf",
"description": "Uncover the science, technology, engineering, and mathematics behind the game of golf.",
"thumb_url": "/storage/projects/nN5y8v8zh2ghxrKuHCv5wvJOREFw0Nr27s2DPxWq.png",
"shared": false,
"starter_project": false,
"users": [
{
"id": 1,
"email": "john.doe@currikistudio.org",
"first_name": "John",
"last_name": "Doe",
"role": "owner"
}
],
"is_public": true,
"created_at": "2020-04-30T20:03:12.000000Z",
"updated_at": "2020-07-11T12:51:07.000000Z"
},
"activities": [
{
"id": 4,
"playlist_id": 1,
"title": "Labeling Golf Ball - Principles of Physics",
"type": "h5p",
"content": "",
"shared": false,
"order": 0,
"thumb_url": null,
"subject_id": null,
"education_level_id": null,
"h5p_content": {
"id": 65,
"created_at": "2020-04-30T23:40:49.000000Z",
"updated_at": "2020-04-30T23:40:49.000000Z",
"user_id": 1,
"title": "Labeling Golf Ball - Principles of Physics",
"library_id": 19,
"parameters": "{\"scoreShow\":\"Check\",\"tryAgain\":\"Retry\",\"scoreExplanation\":\"Correct answers give +1 point. Incorrect answers give -1 point. The lowest possible score is 0.\",\"question\":{\"settings\":{\"size\":{\"width\":620,\"height\":310},\"background\":{\"path\":\"images/background-5eab614083be2.png#tmp\",\"mime\":\"image/png\",\"copyright\":{\"license\":\"U\"},\"width\":620,\"height\":310}},\"task\":{\"elements\":[{\"x\":0,\"y\":47.96909692035003,\"width\":7.812090416666667,\"height\":1.3537570833333332,\"dropZones\":[\"0\",\"1\",\"2\"],\"type\":{\"library\":\"H5P.AdvancedText 1.1\",\"params\":{\"text\":\"<p>Lift</p>\\n\"},\"subContentId\":\"be1d9b11-91ff-4e59-a7c6-9966e1bf8cb2\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Lift\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Lift\"}},\"backgroundOpacity\":100,\"multiple\":false},{\"x\":-4.63163666049382e-8,\"y\":58.810763796296285,\"width\":7.812090416666667,\"height\":1.3537570833333332,\"dropZones\":[\"0\",\"1\",\"2\"],\"type\":{\"library\":\"H5P.AdvancedText 1.1\",\"params\":{\"text\":\"<p>Drag</p>\\n\"},\"subContentId\":\"05a00202-b5dd-44a9-acf1-0cce77278b33\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Drag\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Drag\"}},\"backgroundOpacity\":100,\"multiple\":false},{\"x\":-4.63163666049382e-8,\"y\":36.89236101851851,\"width\":7.812090416666667,\"height\":1.281997824074074,\"dropZones\":[\"0\",\"1\",\"2\"],\"type\":{\"library\":\"H5P.AdvancedText 1.1\",\"params\":{\"text\":\"<p>Spin</p>\\n\"},\"subContentId\":\"140a5423-873b-46d4-8f4f-9b236cefce20\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Spin\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Spin\"}},\"backgroundOpacity\":100,\"multiple\":false}],\"dropZones\":[{\"x\":72.35516653328209,\"y\":14.75972212933847,\"width\":8.61111111111111,\"height\":2.511574074074074,\"correctElements\":[\"0\"],\"showLabel\":false,\"backgroundOpacity\":50,\"tipsAndFeedback\":{\"tip\":\"\"},\"single\":true,\"autoAlign\":true,\"type\":{\"library\":\"H5P.DragQuestionDropzone 0.1\"},\"label\":\"<div>Lift</div>\\n\"},{\"x\":72.35484909201396,\"y\":36.89236101851851,\"width\":8.61111111111111,\"height\":2.511574074074074,\"correctElements\":[\"1\"],\"showLabel\":false,\"backgroundOpacity\":50,\"tipsAndFeedback\":{\"tip\":\"\"},\"single\":true,\"autoAlign\":true,\"type\":{\"library\":\"H5P.DragQuestionDropzone 0.1\"},\"label\":\"<div>Drag</div>\\n\"},{\"x\":72.35516653328209,\"y\":51.65902745268465,\"width\":8.61111111111111,\"height\":2.511574074074074,\"correctElements\":[\"2\"],\"showLabel\":false,\"backgroundOpacity\":50,\"tipsAndFeedback\":{\"tip\":\"\"},\"single\":true,\"autoAlign\":true,\"type\":{\"library\":\"H5P.DragQuestionDropzone 0.1\"},\"label\":\"<div>Spin</div>\\n\"}]}},\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"enableRetry\":true,\"enableCheckButton\":true,\"showSolutionsRequiresInput\":true,\"singlePoint\":false,\"applyPenalties\":true,\"enableScoreExplanation\":true,\"dropZoneHighlighting\":\"dragging\",\"autoAlignSpacing\":2,\"enableFullScreen\":false,\"showScorePoints\":true,\"showTitle\":true},\"grabbablePrefix\":\"Grabbable {num} of {total}.\",\"grabbableSuffix\":\"Placed in dropzone {num}.\",\"dropzonePrefix\":\"Dropzone {num} of {total}.\",\"noDropzone\":\"No dropzone.\",\"tipLabel\":\"Show tip.\",\"tipAvailable\":\"Tip available\",\"correctAnswer\":\"Correct answer\",\"wrongAnswer\":\"Wrong answer\",\"feedbackHeader\":\"Feedback\",\"scoreBarLabel\":\"You got :num out of :total points\",\"scoreExplanationButtonLabel\":\"Show score explanation\",\"localize\":{\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit fullscreen\"}}",
"filtered": "{\"scoreShow\":\"Check\",\"tryAgain\":\"Retry\",\"scoreExplanation\":\"Correct answers give +1 point. Incorrect answers give -1 point. The lowest possible score is 0.\",\"question\":{\"settings\":{\"size\":{\"width\":620,\"height\":310},\"background\":{\"path\":\"images/background-5eab614083be2.png\",\"mime\":\"image/png\",\"copyright\":{\"license\":\"U\"},\"width\":620,\"height\":310}},\"task\":{\"elements\":[{\"x\":0,\"y\":47.96909692035003,\"width\":7.812090416666667,\"height\":1.3537570833333332,\"dropZones\":[\"0\",\"1\",\"2\"],\"type\":{\"library\":\"H5P.AdvancedText 1.1\",\"params\":{\"text\":\"<p>Lift</p>\\n\"},\"subContentId\":\"be1d9b11-91ff-4e59-a7c6-9966e1bf8cb2\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Lift\"}},\"backgroundOpacity\":100,\"multiple\":false},{\"x\":-4.63163666049382e-8,\"y\":58.810763796296285,\"width\":7.812090416666667,\"height\":1.3537570833333332,\"dropZones\":[\"0\",\"1\",\"2\"],\"type\":{\"library\":\"H5P.AdvancedText 1.1\",\"params\":{\"text\":\"<p>Drag</p>\\n\"},\"subContentId\":\"05a00202-b5dd-44a9-acf1-0cce77278b33\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Drag\"}},\"backgroundOpacity\":100,\"multiple\":false},{\"x\":-4.63163666049382e-8,\"y\":36.89236101851851,\"width\":7.812090416666667,\"height\":1.281997824074074,\"dropZones\":[\"0\",\"1\",\"2\"],\"type\":{\"library\":\"H5P.AdvancedText 1.1\",\"params\":{\"text\":\"<p>Spin</p>\\n\"},\"subContentId\":\"140a5423-873b-46d4-8f4f-9b236cefce20\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Spin\"}},\"backgroundOpacity\":100,\"multiple\":false}],\"dropZones\":[{\"x\":72.35516653328209,\"y\":14.75972212933847,\"width\":8.61111111111111,\"height\":2.511574074074074,\"correctElements\":[\"0\"],\"showLabel\":false,\"backgroundOpacity\":50,\"tipsAndFeedback\":{\"tip\":\"\"},\"single\":true,\"autoAlign\":true,\"label\":\"<div>Lift</div>\\n\"},{\"x\":72.35484909201396,\"y\":36.89236101851851,\"width\":8.61111111111111,\"height\":2.511574074074074,\"correctElements\":[\"1\"],\"showLabel\":false,\"backgroundOpacity\":50,\"tipsAndFeedback\":{\"tip\":\"\"},\"single\":true,\"autoAlign\":true,\"label\":\"<div>Drag</div>\\n\"},{\"x\":72.35516653328209,\"y\":51.65902745268465,\"width\":8.61111111111111,\"height\":2.511574074074074,\"correctElements\":[\"2\"],\"showLabel\":false,\"backgroundOpacity\":50,\"tipsAndFeedback\":{\"tip\":\"\"},\"single\":true,\"autoAlign\":true,\"label\":\"<div>Spin</div>\\n\"}]}},\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"enableRetry\":true,\"enableCheckButton\":true,\"showSolutionsRequiresInput\":true,\"singlePoint\":false,\"applyPenalties\":true,\"enableScoreExplanation\":true,\"dropZoneHighlighting\":\"dragging\",\"autoAlignSpacing\":2,\"enableFullScreen\":false,\"showScorePoints\":true,\"showTitle\":true},\"grabbablePrefix\":\"Grabbable {num} of {total}.\",\"grabbableSuffix\":\"Placed in dropzone {num}.\",\"dropzonePrefix\":\"Dropzone {num} of {total}.\",\"noDropzone\":\"No dropzone.\",\"tipLabel\":\"Show tip.\",\"tipAvailable\":\"Tip available\",\"correctAnswer\":\"Correct answer\",\"wrongAnswer\":\"Wrong answer\",\"feedbackHeader\":\"Feedback\",\"scoreBarLabel\":\"You got :num out of :total points\",\"scoreExplanationButtonLabel\":\"Show score explanation\",\"localize\":{\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit fullscreen\"}}",
"slug": "labeling-golf-ball-principles-of-physics",
"embed_type": "div",
"disable": 9,
"content_type": null,
"authors": null,
"source": null,
"year_from": null,
"year_to": null,
"license": "U",
"license_version": null,
"license_extras": null,
"author_comments": null,
"changes": null,
"default_language": null
},
"is_public": false,
"created_at": null,
"updated_at": null
},
{
"id": 17774,
"playlist_id": 1,
"title": "Latest",
"type": "h5p",
"content": "test",
"shared": false,
"order": null,
"thumb_url": "/storage/activities/DrV6rZ6ZDXFMT1k51gbOqw04rqguq6CMtiiD1nDH.png",
"subject_id": "Mathematics",
"education_level_id": null,
"h5p_content": {
"id": 19334,
"created_at": "2020-08-30T20:09:56.000000Z",
"updated_at": "2020-08-30T20:09:56.000000Z",
"user_id": 1,
"title": "Latest",
"library_id": 98,
"parameters": "{\"l10n\":{\"recordAnswer\":\"Record\",\"pause\":\"Pause\",\"continue\":\"Continue\",\"download\":\"Download\",\"done\":\"Done\",\"retry\":\"Retry\",\"microphoneNotSupported\":\"Microphone not supported. Make sure you are using a browser that allows microphone recording.\",\"microphoneInaccessible\":\"Microphone is not accessible. Make sure that the browser microphone is enabled.\",\"insecureNotAllowed\":\"Access to microphone is not allowed in your browser since this page is not served using HTTPS. Please contact the author, and ask him to make this available using HTTPS\",\"statusReadyToRecord\":\"Press a button below to record your answer.\",\"statusRecording\":\"Recording...\",\"statusPaused\":\"Recording paused. Press a button to continue recording.\",\"statusFinishedRecording\":\"You have successfully recorded your answer! Listen to the recording below.\",\"downloadRecording\":\"Download this recording or retry.\",\"retryDialogHeaderText\":\"Retry recording?\",\"retryDialogBodyText\":\"By pressing \\\"Retry\\\" you will lose your current recording.\",\"retryDialogConfirmText\":\"Retry\",\"retryDialogCancelText\":\"Cancel\",\"statusCantCreateTheAudioFile\":\"Can't create the audio file.\"}}",
"filtered": "",
"slug": "latest",
"embed_type": "div",
"disable": 9,
"content_type": null,
"authors": null,
"source": null,
"year_from": null,
"year_to": null,
"license": "U",
"license_version": null,
"license_extras": null,
"author_comments": null,
"changes": null,
"default_language": null
},
"is_public": false,
"created_at": "2020-08-30T20:22:47.000000Z",
"updated_at": "2020-08-30T20:22:47.000000Z"
},
{
"id": 17776,
"playlist_id": 1,
"title": "Latest",
"type": "h5p",
"content": "test",
"shared": false,
"order": null,
"thumb_url": "/storage/activities/DrV6rZ6ZDXFMT1k51gbOqw04rqguq6CMtiiD1nDH.png",
"subject_id": "Mathematics",
"education_level_id": null,
"h5p_content": {
"id": 19334,
"created_at": "2020-08-30T20:09:56.000000Z",
"updated_at": "2020-08-30T20:09:56.000000Z",
"user_id": 1,
"title": "Latest",
"library_id": 98,
"parameters": "{\"l10n\":{\"recordAnswer\":\"Record\",\"pause\":\"Pause\",\"continue\":\"Continue\",\"download\":\"Download\",\"done\":\"Done\",\"retry\":\"Retry\",\"microphoneNotSupported\":\"Microphone not supported. Make sure you are using a browser that allows microphone recording.\",\"microphoneInaccessible\":\"Microphone is not accessible. Make sure that the browser microphone is enabled.\",\"insecureNotAllowed\":\"Access to microphone is not allowed in your browser since this page is not served using HTTPS. Please contact the author, and ask him to make this available using HTTPS\",\"statusReadyToRecord\":\"Press a button below to record your answer.\",\"statusRecording\":\"Recording...\",\"statusPaused\":\"Recording paused. Press a button to continue recording.\",\"statusFinishedRecording\":\"You have successfully recorded your answer! Listen to the recording below.\",\"downloadRecording\":\"Download this recording or retry.\",\"retryDialogHeaderText\":\"Retry recording?\",\"retryDialogBodyText\":\"By pressing \\\"Retry\\\" you will lose your current recording.\",\"retryDialogConfirmText\":\"Retry\",\"retryDialogCancelText\":\"Cancel\",\"statusCantCreateTheAudioFile\":\"Can't create the audio file.\"}}",
"filtered": "",
"slug": "latest",
"embed_type": "div",
"disable": 9,
"content_type": null,
"authors": null,
"source": null,
"year_from": null,
"year_to": null,
"license": "U",
"license_version": null,
"license_extras": null,
"author_comments": null,
"changes": null,
"default_language": null
},
"is_public": false,
"created_at": "2020-08-30T20:24:29.000000Z",
"updated_at": "2020-08-30T20:24:29.000000Z"
},
{
"id": 3,
"playlist_id": 1,
"title": "Physics Vocabulary Study Guide",
"type": "h5p",
"content": "",
"shared": false,
"order": 1,
"thumb_url": null,
"subject_id": null,
"education_level_id": null,
"h5p_content": {
"id": 61,
"created_at": "2020-04-30T20:35:30.000000Z",
"updated_at": "2020-04-30T20:35:30.000000Z",
"user_id": 1,
"title": "Physics Vocabulary Study Guide",
"library_id": 63,
"parameters": "{\"panels\":[{\"content\":{\"params\":{\"text\":\"<p style=\\\"margin-bottom:10px\\\"><span style=\\\"font-size:11pt\\\"><span style=\\\"line-height:107%\\\"><span style=\\\"font-family:Calibri,sans-serif\\\">Acceleration is the measurement of the change </span></span></span><span style=\\\"font-size:11.0pt\\\"><span style=\\\"line-height:107%\\\"><span style=\\\"font-family:"Calibri",sans-serif\\\">in an object\\u2019s velocity. </span></span></span></p>\\n\"},\"library\":\"H5P.AdvancedText 1.1\",\"subContentId\":\"97578055-d386-46be-afe3-c19eae4108aa\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Acceleration\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Acceleration\"}},\"title\":\"Acceleration\"},{\"content\":{\"params\":{\"text\":\"<p style=\\\"margin-bottom:10px\\\"><span style=\\\"font-size:11pt\\\"><span style=\\\"line-height:107%\\\"><span style=\\\"font-family:Calibri,sans-serif\\\">The faster the air moves, the less pressure it exerts.</span></span></span></p>\\n\"},\"library\":\"H5P.AdvancedText 1.1\",\"subContentId\":\"0ce32fbf-4ff1-465b-9c50-8876c5fef34d\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Bernoulli\\u2019s Principle\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Bernoulli\\u2019s Principle\"}},\"title\":\"Bernoulli\\u2019s Principle\"},{\"content\":{\"params\":{\"text\":\"<p><span style=\\\"font-size:10.5pt\\\"><span style=\\\"line-height:107%\\\"><span style=\\\"font-family:"Calibri",sans-serif\\\"><span style=\\\"color:black\\\">A vector is a quantity that has both a magnitude and a direction.</span></span></span></span></p>\\n\"},\"library\":\"H5P.AdvancedText 1.1\",\"subContentId\":\"cead752e-0c29-4acb-b9ae-2f61a3cd5c9b\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Vector\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Vector\"}},\"title\":\"Vector\"},{\"content\":{\"params\":{\"text\":\"<p><span style=\\\"font-size:10.5pt\\\"><span style=\\\"line-height:107%\\\"><span style=\\\"font-family:"Calibri",sans-serif\\\"><span style=\\\"color:black\\\">Drag is the force that acts opposite to the direction of motion. Drag is caused by friction and differences in air pressure.</span></span></span></span></p>\\n\"},\"library\":\"H5P.AdvancedText 1.1\",\"subContentId\":\"6ae4b819-276d-405e-b085-e894c31484d3\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Drag\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Drag\"}},\"title\":\"Drag\"},{\"content\":{\"params\":{\"text\":\"<p style=\\\"margin-bottom:10px\\\"><span style=\\\"font-size:11pt\\\"><span style=\\\"line-height:normal\\\"><span style=\\\"font-family:Calibri,sans-serif\\\"><span style=\\\"font-size:10.5pt\\\"><span style=\\\"color:black\\\">A turbulent flow is one in which the particles have irregular, fluctuating motions and erratic paths.</span></span></span></span></span></p>\\n\"},\"library\":\"H5P.AdvancedText 1.1\",\"subContentId\":\"f9f63fdd-0a8a-4259-a3f1-ca7271b51727\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Turbulent airflow\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Turbulent airflow\"}},\"title\":\"Turbulent airflow\"},{\"content\":{\"params\":{\"text\":\"<p style=\\\"margin-bottom:10px\\\"><span style=\\\"font-size:11pt\\\"><span style=\\\"line-height:107%\\\"><span style=\\\"font-family:Calibri,sans-serif\\\">Friction is the resistance of motion when one object rubs against another. It is a force and is measured in newtons.</span></span></span></p>\\n\"},\"library\":\"H5P.AdvancedText 1.1\",\"subContentId\":\"236c832f-f754-47d6-8d2c-1311a354d861\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Friction\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Friction\"}},\"title\":\"Friction\"}],\"hTag\":\"h2\"}",
"filtered": "{\"panels\":[{\"content\":{\"params\":{\"text\":\"<p><span><span><span>Acceleration is the measurement of the change </span></span></span><span><span><span>in an object\\u2019s velocity. </span></span></span></p>\\n\"},\"library\":\"H5P.AdvancedText 1.1\",\"subContentId\":\"97578055-d386-46be-afe3-c19eae4108aa\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Acceleration\"}},\"title\":\"Acceleration\"},{\"content\":{\"params\":{\"text\":\"<p><span><span><span>The faster the air moves, the less pressure it exerts.</span></span></span></p>\\n\"},\"library\":\"H5P.AdvancedText 1.1\",\"subContentId\":\"0ce32fbf-4ff1-465b-9c50-8876c5fef34d\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Bernoulli\\u2019s Principle\"}},\"title\":\"Bernoulli\\u2019s Principle\"},{\"content\":{\"params\":{\"text\":\"<p><span><span><span><span>A vector is a quantity that has both a magnitude and a direction.</span></span></span></span></p>\\n\"},\"library\":\"H5P.AdvancedText 1.1\",\"subContentId\":\"cead752e-0c29-4acb-b9ae-2f61a3cd5c9b\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Vector\"}},\"title\":\"Vector\"},{\"content\":{\"params\":{\"text\":\"<p><span><span><span><span>Drag is the force that acts opposite to the direction of motion. Drag is caused by friction and differences in air pressure.</span></span></span></span></p>\\n\"},\"library\":\"H5P.AdvancedText 1.1\",\"subContentId\":\"6ae4b819-276d-405e-b085-e894c31484d3\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Drag\"}},\"title\":\"Drag\"},{\"content\":{\"params\":{\"text\":\"<p><span><span><span><span><span>A turbulent flow is one in which the particles have irregular, fluctuating motions and erratic paths.</span></span></span></span></span></p>\\n\"},\"library\":\"H5P.AdvancedText 1.1\",\"subContentId\":\"f9f63fdd-0a8a-4259-a3f1-ca7271b51727\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Turbulent airflow\"}},\"title\":\"Turbulent airflow\"},{\"content\":{\"params\":{\"text\":\"<p><span><span><span>Friction is the resistance of motion when one object rubs against another. It is a force and is measured in newtons.</span></span></span></p>\\n\"},\"library\":\"H5P.AdvancedText 1.1\",\"subContentId\":\"236c832f-f754-47d6-8d2c-1311a354d861\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Friction\"}},\"title\":\"Friction\"}],\"hTag\":\"h2\"}",
"slug": "physics-vocabulary-study-guide",
"embed_type": "div",
"disable": 9,
"content_type": null,
"authors": null,
"source": null,
"year_from": null,
"year_to": null,
"license": "U",
"license_version": null,
"license_extras": null,
"author_comments": null,
"changes": null,
"default_language": null
},
"is_public": false,
"created_at": null,
"updated_at": null
},
{
"id": 1,
"playlist_id": 1,
"title": "Science of Golf: Why Balls Have Dimples",
"type": "h5p",
"content": "",
"shared": false,
"order": 2,
"thumb_url": null,
"subject_id": null,
"education_level_id": null,
"h5p_content": {
"id": 59,
"created_at": "2020-04-30T20:24:58.000000Z",
"updated_at": "2020-04-30T20:24:58.000000Z",
"user_id": 1,
"title": "Science of Golf: Why Balls Have Dimples",
"library_id": 40,
"parameters": "{\"interactiveVideo\":{\"video\":{\"startScreenOptions\":{\"title\":\"Interactive Video\",\"hideStartTitle\":false},\"textTracks\":{\"videoTrack\":[{\"label\":\"Subtitles\",\"kind\":\"subtitles\",\"srcLang\":\"en\"}]},\"files\":[{\"path\":\"https://youtu.be/fcjaxC-e8oY\",\"mime\":\"video/YouTube\",\"copyright\":{\"license\":\"U\"},\"aspectRatio\":\"16:9\"}]},\"assets\":{\"interactions\":[{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":58.33,\"to\":68.33},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"133bca3d-cfe9-442d-a887-8bf1e2ce682a\",\"question\":\"<p>Why do golf balls have dimples?</p>\\n\",\"answers\":[\"<p>They reduce wind resistance.</p>\\n\",\"<p>They make the ball more visually interesting.</p>\\n\",\"<p>They grip the putting green better than a smooth ball.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"ac029b43-7225-49ed-a2d7-8656037748e0\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Why do golf balls have dimples?\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Why do golf balls have dimples?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Why do golf balls have dimples?</p>\\n\"},{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":132.969,\"to\":142.969},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"308503f3-8d41-4f4f-b016-587bcce3dfac\",\"question\":\"<p>A smooth ball will have a detached airflow, which causes what?</p>\\n\",\"answers\":[\"<p>A low pressure zone, which is what causes drag.</p>\\n\",\"<p>The ball has no spin.</p>\\n\",\"<p>The ball travels higher, but for a shorter distance.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"f70c849d-9542-4f30-9116-8b60b7da708d\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Smooth Ball?\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Smooth Ball?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Smooth Ball</p>\\n\"}],\"bookmarks\":[],\"endscreens\":[{\"time\":295,\"label\":\"4:55 Submit screen\"}]},\"summary\":{\"task\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"8e2cf84f-4557-4f79-a03e-526838498a7d\",\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"8d5527ef-3601-4ad9-9e63-2782c9775173\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Untitled Summary\"}},\"displayAt\":3}},\"override\":{\"autoplay\":false,\"loop\":false,\"showBookmarksmenuOnLoad\":false,\"showRewind10\":false,\"preventSkipping\":false,\"deactivateSound\":false},\"l10n\":{\"interaction\":\"Interaction\",\"play\":\"Play\",\"pause\":\"Pause\",\"mute\":\"Mute\",\"unmute\":\"Unmute\",\"quality\":\"Video Quality\",\"captions\":\"Captions\",\"close\":\"Close\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit Fullscreen\",\"summary\":\"Open summary dialog\",\"bookmarks\":\"Bookmarks\",\"endscreen\":\"Submit screen\",\"defaultAdaptivitySeekLabel\":\"Continue\",\"continueWithVideo\":\"Continue with video\",\"playbackRate\":\"Playback Rate\",\"rewind10\":\"Rewind 10 Seconds\",\"navDisabled\":\"Navigation is disabled\",\"sndDisabled\":\"Sound is disabled\",\"requiresCompletionWarning\":\"You need to answer all the questions correctly before continuing.\",\"back\":\"Back\",\"hours\":\"Hours\",\"minutes\":\"Minutes\",\"seconds\":\"Seconds\",\"currentTime\":\"Current time:\",\"totalTime\":\"Total time:\",\"singleInteractionAnnouncement\":\"Interaction appeared:\",\"multipleInteractionsAnnouncement\":\"Multiple interactions appeared.\",\"videoPausedAnnouncement\":\"Video is paused\",\"content\":\"Content\",\"answered\":\"@answered answered\",\"endcardTitle\":\"@answered Question(s) answered\",\"endcardInformation\":\"You have answered @answered questions, click below to submit your answers.\",\"endcardInformationNoAnswers\":\"You have not answered any questions.\",\"endcardInformationMustHaveAnswer\":\"You have to answer at least one question before you can submit your answers.\",\"endcardSubmitButton\":\"Submit Answers\",\"endcardSubmitMessage\":\"Your answers have been submitted!\",\"endcardTableRowAnswered\":\"Answered questions\",\"endcardTableRowScore\":\"Score\",\"endcardAnsweredScore\":\"answered\",\"endCardTableRowSummaryWithScore\":\"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\"endCardTableRowSummaryWithoutScore\":\"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\"}}",
"filtered": "{\"interactiveVideo\":{\"video\":{\"startScreenOptions\":{\"title\":\"Interactive Video\",\"hideStartTitle\":false},\"textTracks\":{\"videoTrack\":[{\"label\":\"Subtitles\",\"kind\":\"subtitles\",\"srcLang\":\"en\"}]},\"files\":[{\"path\":\"https://youtu.be/fcjaxC-e8oY\",\"mime\":\"video/YouTube\",\"copyright\":{\"license\":\"U\"}}]},\"assets\":{\"interactions\":[{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":58.33,\"to\":68.33},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"133bca3d-cfe9-442d-a887-8bf1e2ce682a\",\"question\":\"<p>Why do golf balls have dimples?</p>\\n\",\"answers\":[\"<p>They reduce wind resistance.</p>\\n\",\"<p>They make the ball more visually interesting.</p>\\n\",\"<p>They grip the putting green better than a smooth ball.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"ac029b43-7225-49ed-a2d7-8656037748e0\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Why do golf balls have dimples?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Why do golf balls have dimples?</p>\\n\"},{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":132.969,\"to\":142.969},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"308503f3-8d41-4f4f-b016-587bcce3dfac\",\"question\":\"<p>A smooth ball will have a detached airflow, which causes what?</p>\\n\",\"answers\":[\"<p>A low pressure zone, which is what causes drag.</p>\\n\",\"<p>The ball has no spin.</p>\\n\",\"<p>The ball travels higher, but for a shorter distance.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"f70c849d-9542-4f30-9116-8b60b7da708d\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Smooth Ball?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Smooth Ball</p>\\n\"}],\"endscreens\":[{\"time\":295,\"label\":\"4:55 Submit screen\"}]},\"summary\":{\"task\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"8e2cf84f-4557-4f79-a03e-526838498a7d\",\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"8d5527ef-3601-4ad9-9e63-2782c9775173\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\"}},\"displayAt\":3}},\"override\":{\"autoplay\":false,\"loop\":false,\"showBookmarksmenuOnLoad\":false,\"showRewind10\":false,\"preventSkipping\":false,\"deactivateSound\":false},\"l10n\":{\"interaction\":\"Interaction\",\"play\":\"Play\",\"pause\":\"Pause\",\"mute\":\"Mute\",\"unmute\":\"Unmute\",\"quality\":\"Video Quality\",\"captions\":\"Captions\",\"close\":\"Close\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit Fullscreen\",\"summary\":\"Open summary dialog\",\"bookmarks\":\"Bookmarks\",\"endscreen\":\"Submit screen\",\"defaultAdaptivitySeekLabel\":\"Continue\",\"continueWithVideo\":\"Continue with video\",\"playbackRate\":\"Playback Rate\",\"rewind10\":\"Rewind 10 Seconds\",\"navDisabled\":\"Navigation is disabled\",\"sndDisabled\":\"Sound is disabled\",\"requiresCompletionWarning\":\"You need to answer all the questions correctly before continuing.\",\"back\":\"Back\",\"hours\":\"Hours\",\"minutes\":\"Minutes\",\"seconds\":\"Seconds\",\"currentTime\":\"Current time:\",\"totalTime\":\"Total time:\",\"singleInteractionAnnouncement\":\"Interaction appeared:\",\"multipleInteractionsAnnouncement\":\"Multiple interactions appeared.\",\"videoPausedAnnouncement\":\"Video is paused\",\"content\":\"Content\",\"answered\":\"@answered answered\",\"endcardTitle\":\"@answered Question(s) answered\",\"endcardInformation\":\"You have answered @answered questions, click below to submit your answers.\",\"endcardInformationNoAnswers\":\"You have not answered any questions.\",\"endcardInformationMustHaveAnswer\":\"You have to answer at least one question before you can submit your answers.\",\"endcardSubmitButton\":\"Submit Answers\",\"endcardSubmitMessage\":\"Your answers have been submitted!\",\"endcardTableRowAnswered\":\"Answered questions\",\"endcardTableRowScore\":\"Score\",\"endcardAnsweredScore\":\"answered\",\"endCardTableRowSummaryWithScore\":\"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\"endCardTableRowSummaryWithoutScore\":\"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\"}}",
"slug": "science-of-golf-why-balls-have-dimples",
"embed_type": "div",
"disable": 9,
"content_type": null,
"authors": null,
"source": null,
"year_from": null,
"year_to": null,
"license": "U",
"license_version": null,
"license_extras": null,
"author_comments": null,
"changes": null,
"default_language": null
},
"is_public": false,
"created_at": null,
"updated_at": null
},
{
"id": 2,
"playlist_id": 1,
"title": "Physics and Golf Balls",
"type": "h5p",
"content": "",
"shared": false,
"order": 3,
"thumb_url": null,
"subject_id": null,
"education_level_id": null,
"h5p_content": {
"id": 60,
"created_at": "2020-04-30T20:31:11.000000Z",
"updated_at": "2020-04-30T20:31:11.000000Z",
"user_id": 1,
"title": "Physics and Golf Balls",
"library_id": 60,
"parameters": "{\"cards\":[{\"text\":\"Is the measurement of the change in an object\\u2019s velocity called Speed or Acceleration?\",\"answer\":\"Acceleration\",\"image\":{\"path\":\"images/image-5eab35098aaf0.png#tmp\",\"mime\":\"image/png\",\"copyright\":{\"license\":\"U\"},\"width\":1280,\"height\":720},\"tip\":\"\"},{\"text\":\"Dimples reduce wind resistance or aerodynamic drag. Does that make the ball go farther or faster?\",\"answer\":\"Farther\",\"image\":{\"path\":\"images/image-5eab355f7ca78.jpg#tmp\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":1280,\"height\":720},\"tip\":\"\"},{\"text\":\"Do dimples on a ball increase or decrease the lift?\",\"answer\":\"Increase\",\"image\":{\"path\":\"images/image-5eab3589be9e3.jpg#tmp\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":634,\"height\":508},\"tip\":\"\"}],\"progressText\":\"Card @card of @total\",\"next\":\"Next\",\"previous\":\"Previous\",\"checkAnswerText\":\"Check\",\"showSolutionsRequiresInput\":true,\"defaultAnswerText\":\"Your answer\",\"correctAnswerText\":\"Correct\",\"incorrectAnswerText\":\"Incorrect\",\"showSolutionText\":\"Correct answer\",\"results\":\"Results\",\"ofCorrect\":\"@score of @total correct\",\"showResults\":\"Show results\",\"answerShortText\":\"A:\",\"retry\":\"Retry\",\"caseSensitive\":false,\"cardAnnouncement\":\"Incorrect answer. Correct answer was @answer\",\"pageAnnouncement\":\"Page @current of @total\",\"description\":\"See if you can remember what you learned!\"}",
"filtered": "{\"cards\":[{\"text\":\"Is the measurement of the change in an object\\u2019s velocity called Speed or Acceleration?\",\"answer\":\"Acceleration\",\"image\":{\"path\":\"images/image-5eab35098aaf0.png\",\"mime\":\"image/png\",\"copyright\":{\"license\":\"U\"},\"width\":1280,\"height\":720},\"tip\":\"\"},{\"text\":\"Dimples reduce wind resistance or aerodynamic drag. Does that make the ball go farther or faster?\",\"answer\":\"Farther\",\"image\":{\"path\":\"images/image-5eab355f7ca78.jpg\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":1280,\"height\":720},\"tip\":\"\"},{\"text\":\"Do dimples on a ball increase or decrease the lift?\",\"answer\":\"Increase\",\"image\":{\"path\":\"images/image-5eab3589be9e3.jpg\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":634,\"height\":508},\"tip\":\"\"}],\"progressText\":\"Card @card of @total\",\"next\":\"Next\",\"previous\":\"Previous\",\"checkAnswerText\":\"Check\",\"showSolutionsRequiresInput\":true,\"defaultAnswerText\":\"Your answer\",\"correctAnswerText\":\"Correct\",\"incorrectAnswerText\":\"Incorrect\",\"showSolutionText\":\"Correct answer\",\"results\":\"Results\",\"ofCorrect\":\"@score of @total correct\",\"showResults\":\"Show results\",\"answerShortText\":\"A:\",\"retry\":\"Retry\",\"caseSensitive\":false,\"cardAnnouncement\":\"Incorrect answer. Correct answer was @answer\",\"pageAnnouncement\":\"Page @current of @total\",\"description\":\"See if you can remember what you learned!\"}",
"slug": "physics-and-golf-balls",
"embed_type": "div",
"disable": 9,
"content_type": null,
"authors": null,
"source": null,
"year_from": null,
"year_to": null,
"license": "U",
"license_version": null,
"license_extras": null,
"author_comments": null,
"changes": null,
"default_language": null
},
"is_public": false,
"created_at": null,
"updated_at": null
},
{
"id": 6,
"playlist_id": 1,
"title": "Understanding Gear Effect | Equipment and Tech | 18Birdies",
"type": "h5p",
"content": "",
"shared": false,
"order": 4,
"thumb_url": null,
"subject_id": null,
"education_level_id": null,
"h5p_content": {
"id": 75,
"created_at": "2020-05-01T04:51:11.000000Z",
"updated_at": "2020-05-01T04:51:11.000000Z",
"user_id": 1,
"title": "Understanding Gear Effect | Equipment and Tech | 18Birdies",
"library_id": 40,
"parameters": "{\"interactiveVideo\":{\"video\":{\"startScreenOptions\":{\"title\":\"Interactive Video\",\"hideStartTitle\":false},\"textTracks\":{\"videoTrack\":[{\"label\":\"Subtitles\",\"kind\":\"subtitles\",\"srcLang\":\"en\"}]},\"files\":[{\"path\":\"https://www.youtube.com/watch?v=FdH0JQL5E-U&list=PLVIShUJLAj0rWw3Yr3VtFGH4IbIVMfQFo\",\"mime\":\"video/YouTube\",\"copyright\":{\"license\":\"U\"},\"aspectRatio\":\"16:9\"}]},\"assets\":{\"interactions\":[{\"x\":46.87499999999999,\"y\":44.44444444444444,\"width\":10,\"height\":10,\"duration\":{\"from\":52,\"to\":52},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"c9f0c83d-2ba2-4810-843a-1ee7bec2076f\",\"question\":\"<p>\\\"Torque\\\" is a property of golf shafts that describes how much the shaft is prone to twisting during the golf swing.</p>\\n\",\"answers\":[\"<p>True</p>\\n\",\"<p>False</p>\\n\"]},{\"subContentId\":\"81f2e02c-0f04-44a3-922c-4eac61a11acb\",\"question\":\"<p>... A shaft with a _____ torque rating means the shaft better resists twisting; a shaft with a ____ torque rating means the shaft is more prone to twisting (all other things being equal).</p>\\n\",\"answers\":[\"<p>lower, higher</p>\\n\",\"<p>higher, lower</p>\\n\",\"<p>sharper, duller</p>\\n\",\"<p>straigher, curved</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"eadebb1e-891e-4ff3-8676-943c2616a9e0\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Untitled Single Choice Set\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Untitled Single Choice Set\"}},\"pause\":true,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"\"},{\"x\":46.87499999999999,\"y\":44.44444444444444,\"width\":10,\"height\":10,\"duration\":{\"from\":24.314,\"to\":34.314},\"libraryTitle\":\"Statements\",\"action\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"7bce98af-5267-4ca6-a08c-0c8f2bef5afb\",\"summary\":[\"Gear effect is the term used to explain how and why hitting the ball off-center changes the ball flight.\\n\",\"<p>Gear effect is the term used to explain how and why it is imprtant to adjust the pressure on the clubhead.</p>\\n\",\"<p>Gear effect is the term used to explain how and why it is imprtant to ride your bike to the course.</p>\\n\"],\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"3b954191-ad43-452c-95c3-868047eb55be\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Untitled Summary\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"}},\"label\":\"\"},{\"x\":46.87499999999999,\"y\":44.44444444444444,\"width\":10,\"height\":10,\"duration\":{\"from\":145.688,\"to\":155.688},\"libraryTitle\":\"Multiple Choice\",\"action\":{\"library\":\"H5P.MultiChoice 1.14\",\"params\":{\"media\":{\"type\":{\"params\":{}},\"disableImageZooming\":false},\"answers\":[{\"correct\":true,\"tipsAndFeedback\":{\"tip\":\"\",\"chosenFeedback\":\"\",\"notChosenFeedback\":\"\"},\"text\":\"<div>This pushes the ball to the right, causing a fade slice curved flight.</div>\\n\"},{\"correct\":false,\"tipsAndFeedback\":{\"tip\":\"\",\"chosenFeedback\":\"\",\"notChosenFeedback\":\"\"},\"text\":\"<div>This pushes the ball to the left, causing a <strong>slice</strong> curved flight.</div>\\n\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"enableRetry\":true,\"enableSolutionsButton\":true,\"enableCheckButton\":true,\"type\":\"auto\",\"singlePoint\":false,\"randomAnswers\":true,\"showSolutionsRequiresInput\":true,\"confirmCheckDialog\":false,\"confirmRetryDialog\":false,\"autoCheck\":false,\"passPercentage\":100,\"showScorePoints\":true},\"UI\":{\"checkAnswerButton\":\"Check\",\"showSolutionButton\":\"Show solution\",\"tryAgainButton\":\"Retry\",\"tipsLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"tipAvailable\":\"Tip available\",\"feedbackAvailable\":\"Feedback available\",\"readFeedback\":\"Read feedback\",\"wrongAnswer\":\"Wrong answer\",\"correctAnswer\":\"Correct answer\",\"shouldCheck\":\"Should have been checked\",\"shouldNotCheck\":\"Should not have been checked\",\"noInput\":\"Please answer before viewing the solution\"},\"confirmCheck\":{\"header\":\"Finish ?\",\"body\":\"Are you sure you wish to finish ?\",\"cancelLabel\":\"Cancel\",\"confirmLabel\":\"Finish\"},\"confirmRetry\":{\"header\":\"Retry ?\",\"body\":\"Are you sure you wish to retry ?\",\"cancelLabel\":\"Cancel\",\"confirmLabel\":\"Confirm\"},\"question\":\"<p>When a ball is spinning in a clockwise direction, there is high pressure on the left hand side of the ball, and low pressure on the right.</p>\\n\"},\"subContentId\":\"df5e99b0-6513-4aa9-a760-e3d9e2bfefe9\",\"metadata\":{\"contentType\":\"Multiple Choice\",\"license\":\"U\",\"title\":\"Untitled Multiple Choice\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Untitled Multiple Choice\"}},\"pause\":true,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"\"}],\"bookmarks\":[],\"endscreens\":[{\"time\":358,\"label\":\"5:58 Submit screen\"}]},\"summary\":{\"task\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"64506cb8-ea40-4c72-8c98-ed0bb3c3b808\",\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"b8eb5a4d-5e2e-4b74-95f5-ca37d1a45186\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Untitled Summary\"}},\"displayAt\":3}},\"override\":{\"autoplay\":true,\"loop\":false,\"showBookmarksmenuOnLoad\":false,\"showRewind10\":false,\"preventSkipping\":false,\"deactivateSound\":false,\"startVideoAt\":37},\"l10n\":{\"interaction\":\"Interaction\",\"play\":\"Play\",\"pause\":\"Pause\",\"mute\":\"Mute\",\"unmute\":\"Unmute\",\"quality\":\"Video Quality\",\"captions\":\"Captions\",\"close\":\"Close\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit Fullscreen\",\"summary\":\"Open summary dialog\",\"bookmarks\":\"Bookmarks\",\"endscreen\":\"Submit screen\",\"defaultAdaptivitySeekLabel\":\"Continue\",\"continueWithVideo\":\"Continue with video\",\"playbackRate\":\"Playback Rate\",\"rewind10\":\"Rewind 10 Seconds\",\"navDisabled\":\"Navigation is disabled\",\"sndDisabled\":\"Sound is disabled\",\"requiresCompletionWarning\":\"You need to answer all the questions correctly before continuing.\",\"back\":\"Back\",\"hours\":\"Hours\",\"minutes\":\"Minutes\",\"seconds\":\"Seconds\",\"currentTime\":\"Current time:\",\"totalTime\":\"Total time:\",\"singleInteractionAnnouncement\":\"Interaction appeared:\",\"multipleInteractionsAnnouncement\":\"Multiple interactions appeared.\",\"videoPausedAnnouncement\":\"Video is paused\",\"content\":\"Content\",\"answered\":\"@answered answered\",\"endcardTitle\":\"@answered Question(s) answered\",\"endcardInformation\":\"You have answered @answered questions, click below to submit your answers.\",\"endcardInformationNoAnswers\":\"You have not answered any questions.\",\"endcardInformationMustHaveAnswer\":\"You have to answer at least one question before you can submit your answers.\",\"endcardSubmitButton\":\"Submit Answers\",\"endcardSubmitMessage\":\"Your answers have been submitted!\",\"endcardTableRowAnswered\":\"Answered questions\",\"endcardTableRowScore\":\"Score\",\"endcardAnsweredScore\":\"answered\",\"endCardTableRowSummaryWithScore\":\"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\"endCardTableRowSummaryWithoutScore\":\"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\"}}",
"filtered": "{\"interactiveVideo\":{\"video\":{\"startScreenOptions\":{\"title\":\"Interactive Video\",\"hideStartTitle\":false},\"textTracks\":{\"videoTrack\":[{\"label\":\"Subtitles\",\"kind\":\"subtitles\",\"srcLang\":\"en\"}]},\"files\":[{\"path\":\"https://www.youtube.com/watch?v=FdH0JQL5E-U&list=PLVIShUJLAj0rWw3Yr3VtFGH4IbIVMfQFo\",\"mime\":\"video/YouTube\",\"copyright\":{\"license\":\"U\"}}]},\"assets\":{\"interactions\":[{\"x\":46.87499999999999,\"y\":44.44444444444444,\"width\":10,\"height\":10,\"duration\":{\"from\":52,\"to\":52},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"c9f0c83d-2ba2-4810-843a-1ee7bec2076f\",\"question\":\"<p>\\\"Torque\\\" is a property of golf shafts that describes how much the shaft is prone to twisting during the golf swing.</p>\\n\",\"answers\":[\"<p>True</p>\\n\",\"<p>False</p>\\n\"]},{\"subContentId\":\"81f2e02c-0f04-44a3-922c-4eac61a11acb\",\"question\":\"<p>... A shaft with a _____ torque rating means the shaft better resists twisting; a shaft with a ____ torque rating means the shaft is more prone to twisting (all other things being equal).</p>\\n\",\"answers\":[\"<p>lower, higher</p>\\n\",\"<p>higher, lower</p>\\n\",\"<p>sharper, duller</p>\\n\",\"<p>straigher, curved</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"eadebb1e-891e-4ff3-8676-943c2616a9e0\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Untitled Single Choice Set\"}},\"pause\":true,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"\"},{\"x\":46.87499999999999,\"y\":44.44444444444444,\"width\":10,\"height\":10,\"duration\":{\"from\":24.314,\"to\":34.314},\"libraryTitle\":\"Statements\",\"action\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"7bce98af-5267-4ca6-a08c-0c8f2bef5afb\",\"summary\":[\"Gear effect is the term used to explain how and why hitting the ball off-center changes the ball flight.\\n\",\"<p>Gear effect is the term used to explain how and why it is imprtant to adjust the pressure on the clubhead.</p>\\n\",\"<p>Gear effect is the term used to explain how and why it is imprtant to ride your bike to the course.</p>\\n\"],\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"3b954191-ad43-452c-95c3-868047eb55be\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"}},\"label\":\"\"},{\"x\":46.87499999999999,\"y\":44.44444444444444,\"width\":10,\"height\":10,\"duration\":{\"from\":145.688,\"to\":155.688},\"libraryTitle\":\"Multiple Choice\",\"action\":{\"library\":\"H5P.MultiChoice 1.14\",\"params\":{\"media\":{\"disableImageZooming\":false},\"answers\":[{\"correct\":true,\"tipsAndFeedback\":{\"tip\":\"\",\"chosenFeedback\":\"\",\"notChosenFeedback\":\"\"},\"text\":\"<div>This pushes the ball to the right, causing a fade slice curved flight.</div>\\n\"},{\"correct\":false,\"tipsAndFeedback\":{\"tip\":\"\",\"chosenFeedback\":\"\",\"notChosenFeedback\":\"\"},\"text\":\"<div>This pushes the ball to the left, causing a <strong>slice</strong> curved flight.</div>\\n\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"enableRetry\":true,\"enableSolutionsButton\":true,\"enableCheckButton\":true,\"type\":\"auto\",\"singlePoint\":false,\"randomAnswers\":true,\"showSolutionsRequiresInput\":true,\"confirmCheckDialog\":false,\"confirmRetryDialog\":false,\"autoCheck\":false,\"passPercentage\":100,\"showScorePoints\":true},\"UI\":{\"checkAnswerButton\":\"Check\",\"showSolutionButton\":\"Show solution\",\"tryAgainButton\":\"Retry\",\"tipsLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"tipAvailable\":\"Tip available\",\"feedbackAvailable\":\"Feedback available\",\"readFeedback\":\"Read feedback\",\"wrongAnswer\":\"Wrong answer\",\"correctAnswer\":\"Correct answer\",\"shouldCheck\":\"Should have been checked\",\"shouldNotCheck\":\"Should not have been checked\",\"noInput\":\"Please answer before viewing the solution\"},\"confirmCheck\":{\"header\":\"Finish ?\",\"body\":\"Are you sure you wish to finish ?\",\"cancelLabel\":\"Cancel\",\"confirmLabel\":\"Finish\"},\"confirmRetry\":{\"header\":\"Retry ?\",\"body\":\"Are you sure you wish to retry ?\",\"cancelLabel\":\"Cancel\",\"confirmLabel\":\"Confirm\"},\"question\":\"<p>When a ball is spinning in a clockwise direction, there is high pressure on the left hand side of the ball, and low pressure on the right.</p>\\n\"},\"subContentId\":\"df5e99b0-6513-4aa9-a760-e3d9e2bfefe9\",\"metadata\":{\"contentType\":\"Multiple Choice\",\"license\":\"U\",\"title\":\"Untitled Multiple Choice\"}},\"pause\":true,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"\"}],\"endscreens\":[{\"time\":358,\"label\":\"5:58 Submit screen\"}]},\"summary\":{\"task\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"64506cb8-ea40-4c72-8c98-ed0bb3c3b808\",\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"b8eb5a4d-5e2e-4b74-95f5-ca37d1a45186\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\"}},\"displayAt\":3}},\"override\":{\"autoplay\":true,\"loop\":false,\"showBookmarksmenuOnLoad\":false,\"showRewind10\":false,\"preventSkipping\":false,\"deactivateSound\":false,\"startVideoAt\":37},\"l10n\":{\"interaction\":\"Interaction\",\"play\":\"Play\",\"pause\":\"Pause\",\"mute\":\"Mute\",\"unmute\":\"Unmute\",\"quality\":\"Video Quality\",\"captions\":\"Captions\",\"close\":\"Close\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit Fullscreen\",\"summary\":\"Open summary dialog\",\"bookmarks\":\"Bookmarks\",\"endscreen\":\"Submit screen\",\"defaultAdaptivitySeekLabel\":\"Continue\",\"continueWithVideo\":\"Continue with video\",\"playbackRate\":\"Playback Rate\",\"rewind10\":\"Rewind 10 Seconds\",\"navDisabled\":\"Navigation is disabled\",\"sndDisabled\":\"Sound is disabled\",\"requiresCompletionWarning\":\"You need to answer all the questions correctly before continuing.\",\"back\":\"Back\",\"hours\":\"Hours\",\"minutes\":\"Minutes\",\"seconds\":\"Seconds\",\"currentTime\":\"Current time:\",\"totalTime\":\"Total time:\",\"singleInteractionAnnouncement\":\"Interaction appeared:\",\"multipleInteractionsAnnouncement\":\"Multiple interactions appeared.\",\"videoPausedAnnouncement\":\"Video is paused\",\"content\":\"Content\",\"answered\":\"@answered answered\",\"endcardTitle\":\"@answered Question(s) answered\",\"endcardInformation\":\"You have answered @answered questions, click below to submit your answers.\",\"endcardInformationNoAnswers\":\"You have not answered any questions.\",\"endcardInformationMustHaveAnswer\":\"You have to answer at least one question before you can submit your answers.\",\"endcardSubmitButton\":\"Submit Answers\",\"endcardSubmitMessage\":\"Your answers have been submitted!\",\"endcardTableRowAnswered\":\"Answered questions\",\"endcardTableRowScore\":\"Score\",\"endcardAnsweredScore\":\"answered\",\"endCardTableRowSummaryWithScore\":\"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\"endCardTableRowSummaryWithoutScore\":\"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\"}}",
"slug": "understanding-gear-effect-equipment-and-tech-18birdies",
"embed_type": "div",
"disable": 9,
"content_type": null,
"authors": null,
"source": null,
"year_from": null,
"year_to": null,
"license": "U",
"license_version": null,
"license_extras": null,
"author_comments": null,
"changes": null,
"default_language": null
},
"is_public": false,
"created_at": null,
"updated_at": null
},
{
"id": 5,
"playlist_id": 1,
"title": "The Evolution of the Golf Ball",
"type": "h5p",
"content": "",
"shared": false,
"order": 5,
"thumb_url": null,
"subject_id": null,
"education_level_id": null,
"h5p_content": {
"id": 66,
"created_at": "2020-04-30T23:58:44.000000Z",
"updated_at": "2020-04-30T23:58:44.000000Z",
"user_id": 1,
"title": "The Evolution of the Golf Ball",
"library_id": 61,
"parameters": "{\"timeline\":{\"defaultZoomLevel\":\"0\",\"height\":600,\"asset\":{},\"date\":[{\"asset\":{\"thumbnail\":{\"path\":\"images/thumbnail-5eab648fb61c9.jpeg#tmp\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":234,\"height\":216}},\"startDate\":\"1400\",\"endDate\":\"2020\",\"headline\":\"Origins of Golf\",\"text\":\"<p>Golf is recorded in its first recognizable form in the Eastern Coast of Scotland.</p>\\n\"},{\"asset\":{\"thumbnail\":{\"path\":\"images/thumbnail-5eab64e26de00.jpg#tmp\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":475,\"height\":222}},\"startDate\":\"1600\",\"headline\":\"Wood Golf Balls\",\"text\":\"<p>The first known golf ball was made out of wood, most likely beech, boxroot and similar hardwoods. Wooden clubs were the golf club of choice, which in conjunction with the wood balls would have made your friendly game of golf a rather jarring experience.</p>\\n\"},{\"asset\":{\"thumbnail\":{\"path\":\"images/thumbnail-5eab652f19393.png#tmp\",\"mime\":\"image/png\",\"copyright\":{\"license\":\"U\"},\"width\":1128,\"height\":1096}},\"startDate\":\"1618\",\"headline\":\"Feathery Golf Balls\",\"text\":\"<p>The first \\\"real\\\" golf ball was known as a \\\"feathery\\\"golf ball. Basically, the feathery was a leather sack filled with boiled goose feathers, then stitched up and painted. Feathery golf balls were expensive to make easily damaged and only the privileged few could afford to use them. </p>\\n\\n<p>It was made of cow or horsehide which was stuffed with feathers; most often goose feather. The leather, in order to be easier to work with, was soaked in water. The feathers that were forced into the ball by using a specially designed crutch-handled filling rod were soaked as well. </p>\\n\\n<p>After the ball was carefully hand sewn together, it was left to dry. While the leather shrank, the feathers expanded, which made the ball very hard and compact. </p>\\n\\n<p>Interestingly, the featherie also had excellent flight characteristics as it could reach a distance of up to 175 yards; although the longest recorded distance is more than 361 yards.<br>\\n </p>\\n\"},{\"asset\":{\"thumbnail\":{\"path\":\"images/thumbnail-5eab658fa6bde.jpg#tmp\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":1350,\"height\":759},\"media\":\"https://images.app.goo.gl/MFHFL1dtDiyR5nGq7\"},\"startDate\":\"1848\",\"headline\":\"Cost of Golf Balls\",\"text\":\"<p>In the mid-19th century, most people could only dream of playing golf. There were at the time fewer than 20 golf clubs around the world, with just three being outside Scotland. But that was not the only thing that prevented most people from playing golf. The high cost of golf essentials, especially of golf balls, made the game pretty much inaccessible to ordinary people.31 But that was soon about to change...<br>\\n </p>\\n\"},{\"asset\":{\"thumbnail\":{\"path\":\"images/thumbnail-5eab65cbe1adb.png#tmp\",\"mime\":\"image/png\",\"copyright\":{\"license\":\"U\"},\"width\":944,\"height\":890}},\"startDate\":\"1848\",\"endDate\":\"1890\",\"headline\":\"Gutty Golf Balls\",\"text\":\"<p>It wasn't until 1848 that Rev. Dr. Robert Adams began creating golf balls out of Gutta Percha \\\"Gutty\\\". The Gutty golf ball was created from the dried sap of the Sapodilla tree. It had a rubber-like feel and was formed into ball shapes by heating it up and shaping it while hot. </p>\\n\\n<p>The arrival of the gutta percha ball or \\\"gutty\\\", as it was called, revolutionized the game of golf and allowed its spread to the masses due to its affordability, playability and durability.</p>\\n\"},{\"asset\":{},\"startDate\":\"1899\",\"headline\":\"Hand Hammered Gutta Ball\",\"text\":\"<p>American businessman and inventor Coburn Haskell (1868-1922) got a (joint) patent from the United States Patent Office for the rubber-wound ball47 which would soon lead to another revolution in golf. Widely regarded as the first modern golf ball, Haskell\\u2019s ball was made of a solid rubber-wound core that was covered by guttapercha.</p>\\n\"}],\"language\":\"en\",\"headline\":\"The Evolution of the Golf Ball\",\"text\":\"<div>A golf ball is central to the game of golf. In fact, golf is all about the ball. Well, getting it into the hole in the ground!</div>\\n\",\"backgroundImage\":{\"path\":\"images/backgroundImage-5eab633e2e935.jpg#tmp\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":2139,\"height\":1179}}}",
"filtered": "{\"timeline\":{\"defaultZoomLevel\":\"0\",\"height\":600,\"asset\":{},\"date\":[{\"asset\":{\"thumbnail\":{\"path\":\"images/thumbnail-5eab648fb61c9.jpeg\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":234,\"height\":216}},\"startDate\":\"1400\",\"endDate\":\"2020\",\"headline\":\"Origins of Golf\",\"text\":\"<p>Golf is recorded in its first recognizable form in the Eastern Coast of Scotland.</p>\\n\"},{\"asset\":{\"thumbnail\":{\"path\":\"images/thumbnail-5eab64e26de00.jpg\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":475,\"height\":222}},\"startDate\":\"1600\",\"headline\":\"Wood Golf Balls\",\"text\":\"<p>The first known golf ball was made out of wood, most likely beech, boxroot and similar hardwoods. Wooden clubs were the golf club of choice, which in conjunction with the wood balls would have made your friendly game of golf a rather jarring experience.</p>\\n\"},{\"asset\":{\"thumbnail\":{\"path\":\"images/thumbnail-5eab652f19393.png\",\"mime\":\"image/png\",\"copyright\":{\"license\":\"U\"},\"width\":1128,\"height\":1096}},\"startDate\":\"1618\",\"headline\":\"Feathery Golf Balls\",\"text\":\"<p>The first \\\"real\\\" golf ball was known as a \\\"feathery\\\"golf ball. Basically, the feathery was a leather sack filled with boiled goose feathers, then stitched up and painted. Feathery golf balls were expensive to make easily damaged and only the privileged few could afford to use them. </p>\\n\\n<p>It was made of cow or horsehide which was stuffed with feathers; most often goose feather. The leather, in order to be easier to work with, was soaked in water. The feathers that were forced into the ball by using a specially designed crutch-handled filling rod were soaked as well. </p>\\n\\n<p>After the ball was carefully hand sewn together, it was left to dry. While the leather shrank, the feathers expanded, which made the ball very hard and compact. </p>\\n\\n<p>Interestingly, the featherie also had excellent flight characteristics as it could reach a distance of up to 175 yards; although the longest recorded distance is more than 361 yards.<br>\\n </p>\\n\"},{\"asset\":{\"thumbnail\":{\"path\":\"images/thumbnail-5eab658fa6bde.jpg\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":1350,\"height\":759},\"media\":\"https://images.app.goo.gl/MFHFL1dtDiyR5nGq7\"},\"startDate\":\"1848\",\"headline\":\"Cost of Golf Balls\",\"text\":\"<p>In the mid-19th century, most people could only dream of playing golf. There were at the time fewer than 20 golf clubs around the world, with just three being outside Scotland. But that was not the only thing that prevented most people from playing golf. The high cost of golf essentials, especially of golf balls, made the game pretty much inaccessible to ordinary people.31 But that was soon about to change...<br>\\n </p>\\n\"},{\"asset\":{\"thumbnail\":{\"path\":\"images/thumbnail-5eab65cbe1adb.png\",\"mime\":\"image/png\",\"copyright\":{\"license\":\"U\"},\"width\":944,\"height\":890}},\"startDate\":\"1848\",\"endDate\":\"1890\",\"headline\":\"Gutty Golf Balls\",\"text\":\"<p>It wasn't until 1848 that Rev. Dr. Robert Adams began creating golf balls out of Gutta Percha \\\"Gutty\\\". The Gutty golf ball was created from the dried sap of the Sapodilla tree. It had a rubber-like feel and was formed into ball shapes by heating it up and shaping it while hot. </p>\\n\\n<p>The arrival of the gutta percha ball or \\\"gutty\\\", as it was called, revolutionized the game of golf and allowed its spread to the masses due to its affordability, playability and durability.</p>\\n\"},{\"asset\":{},\"startDate\":\"1899\",\"headline\":\"Hand Hammered Gutta Ball\",\"text\":\"<p>American businessman and inventor Coburn Haskell (1868-1922) got a (joint) patent from the United States Patent Office for the rubber-wound ball47 which would soon lead to another revolution in golf. Widely regarded as the first modern golf ball, Haskell\\u2019s ball was made of a solid rubber-wound core that was covered by guttapercha.</p>\\n\"}],\"language\":\"en\",\"headline\":\"The Evolution of the Golf Ball\",\"text\":\"<div>A golf ball is central to the game of golf. In fact, golf is all about the ball. Well, getting it into the hole in the ground!</div>\\n\",\"backgroundImage\":{\"path\":\"images/backgroundImage-5eab633e2e935.jpg\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":2139,\"height\":1179}}}",
"slug": "the-evolution-of-the-golf-ball",
"embed_type": "div",
"disable": 9,
"content_type": null,
"authors": null,
"source": null,
"year_from": null,
"year_to": null,
"license": "U",
"license_version": null,
"license_extras": null,
"author_comments": null,
"changes": null,
"default_language": null
},
"is_public": false,
"created_at": null,
"updated_at": null
},
{
"id": 7,
"playlist_id": 1,
"title": "Famous Golf Holes",
"type": "h5p",
"content": "",
"shared": false,
"order": 6,
"thumb_url": null,
"subject_id": null,
"education_level_id": null,
"h5p_content": {
"id": 76,
"created_at": "2020-05-01T05:20:54.000000Z",
"updated_at": "2020-05-01T05:20:54.000000Z",
"user_id": 1,
"title": "Famous Golf Holes",
"library_id": 60,
"parameters": "{\"cards\":[{\"answer\":\"7th Hole at Pebble Beach\",\"image\":{\"path\":\"images/image-5eabad2e71b62.jpg#tmp\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":991,\"height\":500},\"tip\":\"<p>Mickey Mantle<br>\\nAT&T Pro Am</p>\\n\"},{\"answer\":\"12th hole at Augusta National\",\"image\":{\"path\":\"images/image-5eabae675c197.jpg#tmp\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":847,\"height\":467},\"tip\":\"\"},{\"answer\":\"7th hole at TPC Sawgrass\",\"image\":{\"path\":\"images/image-5eabaec199254.jpg#tmp\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":1024,\"height\":570},\"tip\":\"\"},{\"answer\":\"The Old Course at St Andrews, #18\",\"image\":{\"path\":\"images/image-5eabafb2400f7.jpg#tmp\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":475,\"height\":367},\"tip\":\"\"},{\"answer\":\"Pine Valley Golf Club, #18\",\"image\":{\"path\":\"images/image-5eabb0ced23c3.jpg#tmp\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":960,\"height\":640},\"tip\":\"\"},{\"answer\":\"Celebrity Course - Indian Wells Golf Resort, #14\",\"image\":{\"path\":\"images/image-5eabb17c9a715.jpg#tmp\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":780,\"height\":490},\"tip\":\"\"}],\"progressText\":\"Card @card of @total\",\"next\":\"Next\",\"previous\":\"Previous\",\"checkAnswerText\":\"Check\",\"showSolutionsRequiresInput\":true,\"defaultAnswerText\":\"Your answer\",\"correctAnswerText\":\"Correct\",\"incorrectAnswerText\":\"Incorrect\",\"showSolutionText\":\"Correct answer\",\"results\":\"Results\",\"ofCorrect\":\"@score of @total correct\",\"showResults\":\"Show results\",\"answerShortText\":\"A:\",\"retry\":\"Retry\",\"caseSensitive\":false,\"cardAnnouncement\":\"Incorrect answer. Correct answer was @answer\",\"pageAnnouncement\":\"Page @current of @total\",\"description\":\"Match the Hole with the Course\"}",
"filtered": "{\"cards\":[{\"answer\":\"7th Hole at Pebble Beach\",\"image\":{\"path\":\"images/image-5eabad2e71b62.jpg\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":991,\"height\":500},\"tip\":\"<p>Mickey Mantle<br>\\nAT&T Pro Am</p>\\n\"},{\"answer\":\"12th hole at Augusta National\",\"image\":{\"path\":\"images/image-5eabae675c197.jpg\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":847,\"height\":467},\"tip\":\"\"},{\"answer\":\"7th hole at TPC Sawgrass\",\"image\":{\"path\":\"images/image-5eabaec199254.jpg\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":1024,\"height\":570},\"tip\":\"\"},{\"answer\":\"The Old Course at St Andrews, #18\",\"image\":{\"path\":\"images/image-5eabafb2400f7.jpg\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":475,\"height\":367},\"tip\":\"\"},{\"answer\":\"Pine Valley Golf Club, #18\",\"image\":{\"path\":\"images/image-5eabb0ced23c3.jpg\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":960,\"height\":640},\"tip\":\"\"},{\"answer\":\"Celebrity Course - Indian Wells Golf Resort, #14\",\"image\":{\"path\":\"images/image-5eabb17c9a715.jpg\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":780,\"height\":490},\"tip\":\"\"}],\"progressText\":\"Card @card of @total\",\"next\":\"Next\",\"previous\":\"Previous\",\"checkAnswerText\":\"Check\",\"showSolutionsRequiresInput\":true,\"defaultAnswerText\":\"Your answer\",\"correctAnswerText\":\"Correct\",\"incorrectAnswerText\":\"Incorrect\",\"showSolutionText\":\"Correct answer\",\"results\":\"Results\",\"ofCorrect\":\"@score of @total correct\",\"showResults\":\"Show results\",\"answerShortText\":\"A:\",\"retry\":\"Retry\",\"caseSensitive\":false,\"cardAnnouncement\":\"Incorrect answer. Correct answer was @answer\",\"pageAnnouncement\":\"Page @current of @total\",\"description\":\"Match the Hole with the Course\"}",
"slug": "famous-golf-holes",
"embed_type": "div",
"disable": 9,
"content_type": null,
"authors": null,
"source": null,
"year_from": null,
"year_to": null,
"license": "U",
"license_version": null,
"license_extras": null,
"author_comments": null,
"changes": null,
"default_language": null
},
"is_public": false,
"created_at": null,
"updated_at": null
}
],
"created_at": null,
"updated_at": null
}
}
Received response:
Request failed with error:
Get H5P Resource Settings (Open)
Get H5P Resource Settings for a activity
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/activities/761/h5p-resource-settings-open" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/activities/761/h5p-resource-settings-open"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/activities/761/h5p-resource-settings-open',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"h5p": {
"id": 59,
"title": "Science of Golf: Why Balls Have Dimples",
"params": "{\"interactiveVideo\":{\"video\":{\"startScreenOptions\":{\"title\":\"Interactive Video\",\"hideStartTitle\":false},\"textTracks\":{\"videoTrack\":[{\"label\":\"Subtitles\",\"kind\":\"subtitles\",\"srcLang\":\"en\"}]},\"files\":[{\"path\":\"https://youtu.be/fcjaxC-e8oY\",\"mime\":\"video/YouTube\",\"copyright\":{\"license\":\"U\"},\"aspectRatio\":\"16:9\"}]},\"assets\":{\"interactions\":[{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":58.33,\"to\":68.33},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"133bca3d-cfe9-442d-a887-8bf1e2ce682a\",\"question\":\"<p>Why do golf balls have dimples?</p>\\n\",\"answers\":[\"<p>They reduce wind resistance.</p>\\n\",\"<p>They make the ball more visually interesting.</p>\\n\",\"<p>They grip the putting green better than a smooth ball.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"ac029b43-7225-49ed-a2d7-8656037748e0\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Why do golf balls have dimples?\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Why do golf balls have dimples?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Why do golf balls have dimples?</p>\\n\"},{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":132.969,\"to\":142.969},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"308503f3-8d41-4f4f-b016-587bcce3dfac\",\"question\":\"<p>A smooth ball will have a detached airflow, which causes what?</p>\\n\",\"answers\":[\"<p>A low pressure zone, which is what causes drag.</p>\\n\",\"<p>The ball has no spin.</p>\\n\",\"<p>The ball travels higher, but for a shorter distance.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"f70c849d-9542-4f30-9116-8b60b7da708d\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Smooth Ball?\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Smooth Ball?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Smooth Ball</p>\\n\"}],\"bookmarks\":[],\"endscreens\":[{\"time\":295,\"label\":\"4:55 Submit screen\"}]},\"summary\":{\"task\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"8e2cf84f-4557-4f79-a03e-526838498a7d\",\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"8d5527ef-3601-4ad9-9e63-2782c9775173\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Untitled Summary\"}},\"displayAt\":3}},\"override\":{\"autoplay\":false,\"loop\":false,\"showBookmarksmenuOnLoad\":false,\"showRewind10\":false,\"preventSkipping\":false,\"deactivateSound\":false},\"l10n\":{\"interaction\":\"Interaction\",\"play\":\"Play\",\"pause\":\"Pause\",\"mute\":\"Mute\",\"unmute\":\"Unmute\",\"quality\":\"Video Quality\",\"captions\":\"Captions\",\"close\":\"Close\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit Fullscreen\",\"summary\":\"Open summary dialog\",\"bookmarks\":\"Bookmarks\",\"endscreen\":\"Submit screen\",\"defaultAdaptivitySeekLabel\":\"Continue\",\"continueWithVideo\":\"Continue with video\",\"playbackRate\":\"Playback Rate\",\"rewind10\":\"Rewind 10 Seconds\",\"navDisabled\":\"Navigation is disabled\",\"sndDisabled\":\"Sound is disabled\",\"requiresCompletionWarning\":\"You need to answer all the questions correctly before continuing.\",\"back\":\"Back\",\"hours\":\"Hours\",\"minutes\":\"Minutes\",\"seconds\":\"Seconds\",\"currentTime\":\"Current time:\",\"totalTime\":\"Total time:\",\"singleInteractionAnnouncement\":\"Interaction appeared:\",\"multipleInteractionsAnnouncement\":\"Multiple interactions appeared.\",\"videoPausedAnnouncement\":\"Video is paused\",\"content\":\"Content\",\"answered\":\"@answered answered\",\"endcardTitle\":\"@answered Question(s) answered\",\"endcardInformation\":\"You have answered @answered questions, click below to submit your answers.\",\"endcardInformationNoAnswers\":\"You have not answered any questions.\",\"endcardInformationMustHaveAnswer\":\"You have to answer at least one question before you can submit your answers.\",\"endcardSubmitButton\":\"Submit Answers\",\"endcardSubmitMessage\":\"Your answers have been submitted!\",\"endcardTableRowAnswered\":\"Answered questions\",\"endcardTableRowScore\":\"Score\",\"endcardAnsweredScore\":\"answered\",\"endCardTableRowSummaryWithScore\":\"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\"endCardTableRowSummaryWithoutScore\":\"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\"}}",
"filtered": "{\"interactiveVideo\":{\"video\":{\"startScreenOptions\":{\"title\":\"Interactive Video\",\"hideStartTitle\":false},\"textTracks\":{\"videoTrack\":[{\"label\":\"Subtitles\",\"kind\":\"subtitles\",\"srcLang\":\"en\"}]},\"files\":[{\"path\":\"https://youtu.be/fcjaxC-e8oY\",\"mime\":\"video/YouTube\",\"copyright\":{\"license\":\"U\"}}]},\"assets\":{\"interactions\":[{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":58.33,\"to\":68.33},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"133bca3d-cfe9-442d-a887-8bf1e2ce682a\",\"question\":\"<p>Why do golf balls have dimples?</p>\\n\",\"answers\":[\"<p>They reduce wind resistance.</p>\\n\",\"<p>They make the ball more visually interesting.</p>\\n\",\"<p>They grip the putting green better than a smooth ball.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"ac029b43-7225-49ed-a2d7-8656037748e0\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Why do golf balls have dimples?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Why do golf balls have dimples?</p>\\n\"},{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":132.969,\"to\":142.969},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"308503f3-8d41-4f4f-b016-587bcce3dfac\",\"question\":\"<p>A smooth ball will have a detached airflow, which causes what?</p>\\n\",\"answers\":[\"<p>A low pressure zone, which is what causes drag.</p>\\n\",\"<p>The ball has no spin.</p>\\n\",\"<p>The ball travels higher, but for a shorter distance.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"f70c849d-9542-4f30-9116-8b60b7da708d\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Smooth Ball?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Smooth Ball</p>\\n\"}],\"endscreens\":[{\"time\":295,\"label\":\"4:55 Submit screen\"}]},\"summary\":{\"task\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"8e2cf84f-4557-4f79-a03e-526838498a7d\",\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"8d5527ef-3601-4ad9-9e63-2782c9775173\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\"}},\"displayAt\":3}},\"override\":{\"autoplay\":false,\"loop\":false,\"showBookmarksmenuOnLoad\":false,\"showRewind10\":false,\"preventSkipping\":false,\"deactivateSound\":false},\"l10n\":{\"interaction\":\"Interaction\",\"play\":\"Play\",\"pause\":\"Pause\",\"mute\":\"Mute\",\"unmute\":\"Unmute\",\"quality\":\"Video Quality\",\"captions\":\"Captions\",\"close\":\"Close\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit Fullscreen\",\"summary\":\"Open summary dialog\",\"bookmarks\":\"Bookmarks\",\"endscreen\":\"Submit screen\",\"defaultAdaptivitySeekLabel\":\"Continue\",\"continueWithVideo\":\"Continue with video\",\"playbackRate\":\"Playback Rate\",\"rewind10\":\"Rewind 10 Seconds\",\"navDisabled\":\"Navigation is disabled\",\"sndDisabled\":\"Sound is disabled\",\"requiresCompletionWarning\":\"You need to answer all the questions correctly before continuing.\",\"back\":\"Back\",\"hours\":\"Hours\",\"minutes\":\"Minutes\",\"seconds\":\"Seconds\",\"currentTime\":\"Current time:\",\"totalTime\":\"Total time:\",\"singleInteractionAnnouncement\":\"Interaction appeared:\",\"multipleInteractionsAnnouncement\":\"Multiple interactions appeared.\",\"videoPausedAnnouncement\":\"Video is paused\",\"content\":\"Content\",\"answered\":\"@answered answered\",\"endcardTitle\":\"@answered Question(s) answered\",\"endcardInformation\":\"You have answered @answered questions, click below to submit your answers.\",\"endcardInformationNoAnswers\":\"You have not answered any questions.\",\"endcardInformationMustHaveAnswer\":\"You have to answer at least one question before you can submit your answers.\",\"endcardSubmitButton\":\"Submit Answers\",\"endcardSubmitMessage\":\"Your answers have been submitted!\",\"endcardTableRowAnswered\":\"Answered questions\",\"endcardTableRowScore\":\"Score\",\"endcardAnsweredScore\":\"answered\",\"endCardTableRowSummaryWithScore\":\"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\"endCardTableRowSummaryWithoutScore\":\"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\"}}",
"slug": "science-of-golf-why-balls-have-dimples",
"user_id": 1,
"embedType": "div",
"disable": 9,
"libraryMajorVersion": 1,
"libraryMinorVersion": 21,
"authors": null,
"source": null,
"yearFrom": null,
"yearTo": null,
"licenseVersion": null,
"licenseExtras": null,
"authorComments": null,
"changes": null,
"defaultLanguage": null,
"metadata": {
"title": "Science of Golf: Why Balls Have Dimples",
"license": "U"
},
"library": {
"id": 40,
"name": "H5P.InteractiveVideo",
"majorVersion": 1,
"minorVersion": 21,
"embedTypes": "iframe",
"fullscreen": 1
},
"language": "en",
"tags": ""
},
"activity": {
"id": 1,
"playlist_id": 1,
"title": "Science of Golf: Why Balls Have Dimples",
"type": "h5p",
"content": "",
"shared": false,
"order": 2,
"thumb_url": null,
"subject_id": null,
"education_level_id": null,
"h5p_content": {
"id": 59,
"created_at": "2020-04-30T20:24:58.000000Z",
"updated_at": "2020-04-30T20:24:58.000000Z",
"user_id": 1,
"title": "Science of Golf: Why Balls Have Dimples",
"library_id": 40,
"parameters": "{\"interactiveVideo\":{\"video\":{\"startScreenOptions\":{\"title\":\"Interactive Video\",\"hideStartTitle\":false},\"textTracks\":{\"videoTrack\":[{\"label\":\"Subtitles\",\"kind\":\"subtitles\",\"srcLang\":\"en\"}]},\"files\":[{\"path\":\"https://youtu.be/fcjaxC-e8oY\",\"mime\":\"video/YouTube\",\"copyright\":{\"license\":\"U\"},\"aspectRatio\":\"16:9\"}]},\"assets\":{\"interactions\":[{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":58.33,\"to\":68.33},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"133bca3d-cfe9-442d-a887-8bf1e2ce682a\",\"question\":\"<p>Why do golf balls have dimples?</p>\\n\",\"answers\":[\"<p>They reduce wind resistance.</p>\\n\",\"<p>They make the ball more visually interesting.</p>\\n\",\"<p>They grip the putting green better than a smooth ball.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"ac029b43-7225-49ed-a2d7-8656037748e0\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Why do golf balls have dimples?\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Why do golf balls have dimples?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Why do golf balls have dimples?</p>\\n\"},{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":132.969,\"to\":142.969},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"308503f3-8d41-4f4f-b016-587bcce3dfac\",\"question\":\"<p>A smooth ball will have a detached airflow, which causes what?</p>\\n\",\"answers\":[\"<p>A low pressure zone, which is what causes drag.</p>\\n\",\"<p>The ball has no spin.</p>\\n\",\"<p>The ball travels higher, but for a shorter distance.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"f70c849d-9542-4f30-9116-8b60b7da708d\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Smooth Ball?\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Smooth Ball?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Smooth Ball</p>\\n\"}],\"bookmarks\":[],\"endscreens\":[{\"time\":295,\"label\":\"4:55 Submit screen\"}]},\"summary\":{\"task\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"8e2cf84f-4557-4f79-a03e-526838498a7d\",\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"8d5527ef-3601-4ad9-9e63-2782c9775173\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Untitled Summary\"}},\"displayAt\":3}},\"override\":{\"autoplay\":false,\"loop\":false,\"showBookmarksmenuOnLoad\":false,\"showRewind10\":false,\"preventSkipping\":false,\"deactivateSound\":false},\"l10n\":{\"interaction\":\"Interaction\",\"play\":\"Play\",\"pause\":\"Pause\",\"mute\":\"Mute\",\"unmute\":\"Unmute\",\"quality\":\"Video Quality\",\"captions\":\"Captions\",\"close\":\"Close\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit Fullscreen\",\"summary\":\"Open summary dialog\",\"bookmarks\":\"Bookmarks\",\"endscreen\":\"Submit screen\",\"defaultAdaptivitySeekLabel\":\"Continue\",\"continueWithVideo\":\"Continue with video\",\"playbackRate\":\"Playback Rate\",\"rewind10\":\"Rewind 10 Seconds\",\"navDisabled\":\"Navigation is disabled\",\"sndDisabled\":\"Sound is disabled\",\"requiresCompletionWarning\":\"You need to answer all the questions correctly before continuing.\",\"back\":\"Back\",\"hours\":\"Hours\",\"minutes\":\"Minutes\",\"seconds\":\"Seconds\",\"currentTime\":\"Current time:\",\"totalTime\":\"Total time:\",\"singleInteractionAnnouncement\":\"Interaction appeared:\",\"multipleInteractionsAnnouncement\":\"Multiple interactions appeared.\",\"videoPausedAnnouncement\":\"Video is paused\",\"content\":\"Content\",\"answered\":\"@answered answered\",\"endcardTitle\":\"@answered Question(s) answered\",\"endcardInformation\":\"You have answered @answered questions, click below to submit your answers.\",\"endcardInformationNoAnswers\":\"You have not answered any questions.\",\"endcardInformationMustHaveAnswer\":\"You have to answer at least one question before you can submit your answers.\",\"endcardSubmitButton\":\"Submit Answers\",\"endcardSubmitMessage\":\"Your answers have been submitted!\",\"endcardTableRowAnswered\":\"Answered questions\",\"endcardTableRowScore\":\"Score\",\"endcardAnsweredScore\":\"answered\",\"endCardTableRowSummaryWithScore\":\"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\"endCardTableRowSummaryWithoutScore\":\"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\"}}",
"filtered": "{\"interactiveVideo\":{\"video\":{\"startScreenOptions\":{\"title\":\"Interactive Video\",\"hideStartTitle\":false},\"textTracks\":{\"videoTrack\":[{\"label\":\"Subtitles\",\"kind\":\"subtitles\",\"srcLang\":\"en\"}]},\"files\":[{\"path\":\"https://youtu.be/fcjaxC-e8oY\",\"mime\":\"video/YouTube\",\"copyright\":{\"license\":\"U\"}}]},\"assets\":{\"interactions\":[{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":58.33,\"to\":68.33},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"133bca3d-cfe9-442d-a887-8bf1e2ce682a\",\"question\":\"<p>Why do golf balls have dimples?</p>\\n\",\"answers\":[\"<p>They reduce wind resistance.</p>\\n\",\"<p>They make the ball more visually interesting.</p>\\n\",\"<p>They grip the putting green better than a smooth ball.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"ac029b43-7225-49ed-a2d7-8656037748e0\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Why do golf balls have dimples?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Why do golf balls have dimples?</p>\\n\"},{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":132.969,\"to\":142.969},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"308503f3-8d41-4f4f-b016-587bcce3dfac\",\"question\":\"<p>A smooth ball will have a detached airflow, which causes what?</p>\\n\",\"answers\":[\"<p>A low pressure zone, which is what causes drag.</p>\\n\",\"<p>The ball has no spin.</p>\\n\",\"<p>The ball travels higher, but for a shorter distance.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"f70c849d-9542-4f30-9116-8b60b7da708d\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Smooth Ball?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Smooth Ball</p>\\n\"}],\"endscreens\":[{\"time\":295,\"label\":\"4:55 Submit screen\"}]},\"summary\":{\"task\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"8e2cf84f-4557-4f79-a03e-526838498a7d\",\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"8d5527ef-3601-4ad9-9e63-2782c9775173\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\"}},\"displayAt\":3}},\"override\":{\"autoplay\":false,\"loop\":false,\"showBookmarksmenuOnLoad\":false,\"showRewind10\":false,\"preventSkipping\":false,\"deactivateSound\":false},\"l10n\":{\"interaction\":\"Interaction\",\"play\":\"Play\",\"pause\":\"Pause\",\"mute\":\"Mute\",\"unmute\":\"Unmute\",\"quality\":\"Video Quality\",\"captions\":\"Captions\",\"close\":\"Close\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit Fullscreen\",\"summary\":\"Open summary dialog\",\"bookmarks\":\"Bookmarks\",\"endscreen\":\"Submit screen\",\"defaultAdaptivitySeekLabel\":\"Continue\",\"continueWithVideo\":\"Continue with video\",\"playbackRate\":\"Playback Rate\",\"rewind10\":\"Rewind 10 Seconds\",\"navDisabled\":\"Navigation is disabled\",\"sndDisabled\":\"Sound is disabled\",\"requiresCompletionWarning\":\"You need to answer all the questions correctly before continuing.\",\"back\":\"Back\",\"hours\":\"Hours\",\"minutes\":\"Minutes\",\"seconds\":\"Seconds\",\"currentTime\":\"Current time:\",\"totalTime\":\"Total time:\",\"singleInteractionAnnouncement\":\"Interaction appeared:\",\"multipleInteractionsAnnouncement\":\"Multiple interactions appeared.\",\"videoPausedAnnouncement\":\"Video is paused\",\"content\":\"Content\",\"answered\":\"@answered answered\",\"endcardTitle\":\"@answered Question(s) answered\",\"endcardInformation\":\"You have answered @answered questions, click below to submit your answers.\",\"endcardInformationNoAnswers\":\"You have not answered any questions.\",\"endcardInformationMustHaveAnswer\":\"You have to answer at least one question before you can submit your answers.\",\"endcardSubmitButton\":\"Submit Answers\",\"endcardSubmitMessage\":\"Your answers have been submitted!\",\"endcardTableRowAnswered\":\"Answered questions\",\"endcardTableRowScore\":\"Score\",\"endcardAnsweredScore\":\"answered\",\"endCardTableRowSummaryWithScore\":\"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\"endCardTableRowSummaryWithoutScore\":\"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\"}}",
"slug": "science-of-golf-why-balls-have-dimples",
"embed_type": "div",
"disable": 9,
"content_type": null,
"authors": null,
"source": null,
"year_from": null,
"year_to": null,
"license": "U",
"license_version": null,
"license_extras": null,
"author_comments": null,
"changes": null,
"default_language": null
},
"is_public": false,
"created_at": null,
"updated_at": null
},
"playlist": {
"id": 1,
"title": "The Engineering & Design Behind Golf Balls",
"order": 0,
"is_public": true,
"project_id": 1,
"project": {
"id": 1,
"name": "The Science of Golf",
"description": "Uncover the science, technology, engineering, and mathematics behind the game of golf.",
"thumb_url": "/storage/projects/nN5y8v8zh2ghxrKuHCv5wvJOREFw0Nr27s2DPxWq.png",
"shared": false,
"starter_project": false,
"users": [
{
"id": 1,
"email": "john.doe@currikistudio.org",
"first_name": "John",
"last_name": "Doe",
"role": "owner"
}
],
"is_public": true,
"created_at": "2020-04-30T20:03:12.000000Z",
"updated_at": "2020-07-11T12:51:07.000000Z"
},
"activities": [
{
"id": 4,
"playlist_id": 1,
"title": "Labeling Golf Ball - Principles of Physics",
"type": "h5p",
"content": "",
"shared": false,
"order": 0,
"thumb_url": null,
"subject_id": null,
"education_level_id": null,
"h5p_content": {
"id": 65,
"created_at": "2020-04-30T23:40:49.000000Z",
"updated_at": "2020-04-30T23:40:49.000000Z",
"user_id": 1,
"title": "Labeling Golf Ball - Principles of Physics",
"library_id": 19,
"parameters": "{\"scoreShow\":\"Check\",\"tryAgain\":\"Retry\",\"scoreExplanation\":\"Correct answers give +1 point. Incorrect answers give -1 point. The lowest possible score is 0.\",\"question\":{\"settings\":{\"size\":{\"width\":620,\"height\":310},\"background\":{\"path\":\"images/background-5eab614083be2.png#tmp\",\"mime\":\"image/png\",\"copyright\":{\"license\":\"U\"},\"width\":620,\"height\":310}},\"task\":{\"elements\":[{\"x\":0,\"y\":47.96909692035003,\"width\":7.812090416666667,\"height\":1.3537570833333332,\"dropZones\":[\"0\",\"1\",\"2\"],\"type\":{\"library\":\"H5P.AdvancedText 1.1\",\"params\":{\"text\":\"<p>Lift</p>\\n\"},\"subContentId\":\"be1d9b11-91ff-4e59-a7c6-9966e1bf8cb2\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Lift\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Lift\"}},\"backgroundOpacity\":100,\"multiple\":false},{\"x\":-4.63163666049382e-8,\"y\":58.810763796296285,\"width\":7.812090416666667,\"height\":1.3537570833333332,\"dropZones\":[\"0\",\"1\",\"2\"],\"type\":{\"library\":\"H5P.AdvancedText 1.1\",\"params\":{\"text\":\"<p>Drag</p>\\n\"},\"subContentId\":\"05a00202-b5dd-44a9-acf1-0cce77278b33\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Drag\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Drag\"}},\"backgroundOpacity\":100,\"multiple\":false},{\"x\":-4.63163666049382e-8,\"y\":36.89236101851851,\"width\":7.812090416666667,\"height\":1.281997824074074,\"dropZones\":[\"0\",\"1\",\"2\"],\"type\":{\"library\":\"H5P.AdvancedText 1.1\",\"params\":{\"text\":\"<p>Spin</p>\\n\"},\"subContentId\":\"140a5423-873b-46d4-8f4f-9b236cefce20\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Spin\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Spin\"}},\"backgroundOpacity\":100,\"multiple\":false}],\"dropZones\":[{\"x\":72.35516653328209,\"y\":14.75972212933847,\"width\":8.61111111111111,\"height\":2.511574074074074,\"correctElements\":[\"0\"],\"showLabel\":false,\"backgroundOpacity\":50,\"tipsAndFeedback\":{\"tip\":\"\"},\"single\":true,\"autoAlign\":true,\"type\":{\"library\":\"H5P.DragQuestionDropzone 0.1\"},\"label\":\"<div>Lift</div>\\n\"},{\"x\":72.35484909201396,\"y\":36.89236101851851,\"width\":8.61111111111111,\"height\":2.511574074074074,\"correctElements\":[\"1\"],\"showLabel\":false,\"backgroundOpacity\":50,\"tipsAndFeedback\":{\"tip\":\"\"},\"single\":true,\"autoAlign\":true,\"type\":{\"library\":\"H5P.DragQuestionDropzone 0.1\"},\"label\":\"<div>Drag</div>\\n\"},{\"x\":72.35516653328209,\"y\":51.65902745268465,\"width\":8.61111111111111,\"height\":2.511574074074074,\"correctElements\":[\"2\"],\"showLabel\":false,\"backgroundOpacity\":50,\"tipsAndFeedback\":{\"tip\":\"\"},\"single\":true,\"autoAlign\":true,\"type\":{\"library\":\"H5P.DragQuestionDropzone 0.1\"},\"label\":\"<div>Spin</div>\\n\"}]}},\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"enableRetry\":true,\"enableCheckButton\":true,\"showSolutionsRequiresInput\":true,\"singlePoint\":false,\"applyPenalties\":true,\"enableScoreExplanation\":true,\"dropZoneHighlighting\":\"dragging\",\"autoAlignSpacing\":2,\"enableFullScreen\":false,\"showScorePoints\":true,\"showTitle\":true},\"grabbablePrefix\":\"Grabbable {num} of {total}.\",\"grabbableSuffix\":\"Placed in dropzone {num}.\",\"dropzonePrefix\":\"Dropzone {num} of {total}.\",\"noDropzone\":\"No dropzone.\",\"tipLabel\":\"Show tip.\",\"tipAvailable\":\"Tip available\",\"correctAnswer\":\"Correct answer\",\"wrongAnswer\":\"Wrong answer\",\"feedbackHeader\":\"Feedback\",\"scoreBarLabel\":\"You got :num out of :total points\",\"scoreExplanationButtonLabel\":\"Show score explanation\",\"localize\":{\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit fullscreen\"}}",
"filtered": "{\"scoreShow\":\"Check\",\"tryAgain\":\"Retry\",\"scoreExplanation\":\"Correct answers give +1 point. Incorrect answers give -1 point. The lowest possible score is 0.\",\"question\":{\"settings\":{\"size\":{\"width\":620,\"height\":310},\"background\":{\"path\":\"images/background-5eab614083be2.png\",\"mime\":\"image/png\",\"copyright\":{\"license\":\"U\"},\"width\":620,\"height\":310}},\"task\":{\"elements\":[{\"x\":0,\"y\":47.96909692035003,\"width\":7.812090416666667,\"height\":1.3537570833333332,\"dropZones\":[\"0\",\"1\",\"2\"],\"type\":{\"library\":\"H5P.AdvancedText 1.1\",\"params\":{\"text\":\"<p>Lift</p>\\n\"},\"subContentId\":\"be1d9b11-91ff-4e59-a7c6-9966e1bf8cb2\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Lift\"}},\"backgroundOpacity\":100,\"multiple\":false},{\"x\":-4.63163666049382e-8,\"y\":58.810763796296285,\"width\":7.812090416666667,\"height\":1.3537570833333332,\"dropZones\":[\"0\",\"1\",\"2\"],\"type\":{\"library\":\"H5P.AdvancedText 1.1\",\"params\":{\"text\":\"<p>Drag</p>\\n\"},\"subContentId\":\"05a00202-b5dd-44a9-acf1-0cce77278b33\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Drag\"}},\"backgroundOpacity\":100,\"multiple\":false},{\"x\":-4.63163666049382e-8,\"y\":36.89236101851851,\"width\":7.812090416666667,\"height\":1.281997824074074,\"dropZones\":[\"0\",\"1\",\"2\"],\"type\":{\"library\":\"H5P.AdvancedText 1.1\",\"params\":{\"text\":\"<p>Spin</p>\\n\"},\"subContentId\":\"140a5423-873b-46d4-8f4f-9b236cefce20\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Spin\"}},\"backgroundOpacity\":100,\"multiple\":false}],\"dropZones\":[{\"x\":72.35516653328209,\"y\":14.75972212933847,\"width\":8.61111111111111,\"height\":2.511574074074074,\"correctElements\":[\"0\"],\"showLabel\":false,\"backgroundOpacity\":50,\"tipsAndFeedback\":{\"tip\":\"\"},\"single\":true,\"autoAlign\":true,\"label\":\"<div>Lift</div>\\n\"},{\"x\":72.35484909201396,\"y\":36.89236101851851,\"width\":8.61111111111111,\"height\":2.511574074074074,\"correctElements\":[\"1\"],\"showLabel\":false,\"backgroundOpacity\":50,\"tipsAndFeedback\":{\"tip\":\"\"},\"single\":true,\"autoAlign\":true,\"label\":\"<div>Drag</div>\\n\"},{\"x\":72.35516653328209,\"y\":51.65902745268465,\"width\":8.61111111111111,\"height\":2.511574074074074,\"correctElements\":[\"2\"],\"showLabel\":false,\"backgroundOpacity\":50,\"tipsAndFeedback\":{\"tip\":\"\"},\"single\":true,\"autoAlign\":true,\"label\":\"<div>Spin</div>\\n\"}]}},\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"enableRetry\":true,\"enableCheckButton\":true,\"showSolutionsRequiresInput\":true,\"singlePoint\":false,\"applyPenalties\":true,\"enableScoreExplanation\":true,\"dropZoneHighlighting\":\"dragging\",\"autoAlignSpacing\":2,\"enableFullScreen\":false,\"showScorePoints\":true,\"showTitle\":true},\"grabbablePrefix\":\"Grabbable {num} of {total}.\",\"grabbableSuffix\":\"Placed in dropzone {num}.\",\"dropzonePrefix\":\"Dropzone {num} of {total}.\",\"noDropzone\":\"No dropzone.\",\"tipLabel\":\"Show tip.\",\"tipAvailable\":\"Tip available\",\"correctAnswer\":\"Correct answer\",\"wrongAnswer\":\"Wrong answer\",\"feedbackHeader\":\"Feedback\",\"scoreBarLabel\":\"You got :num out of :total points\",\"scoreExplanationButtonLabel\":\"Show score explanation\",\"localize\":{\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit fullscreen\"}}",
"slug": "labeling-golf-ball-principles-of-physics",
"embed_type": "div",
"disable": 9,
"content_type": null,
"authors": null,
"source": null,
"year_from": null,
"year_to": null,
"license": "U",
"license_version": null,
"license_extras": null,
"author_comments": null,
"changes": null,
"default_language": null
},
"is_public": false,
"created_at": null,
"updated_at": null
},
{
"id": 17774,
"playlist_id": 1,
"title": "Latest",
"type": "h5p",
"content": "test",
"shared": false,
"order": null,
"thumb_url": "/storage/activities/DrV6rZ6ZDXFMT1k51gbOqw04rqguq6CMtiiD1nDH.png",
"subject_id": "Mathematics",
"education_level_id": null,
"h5p_content": {
"id": 19334,
"created_at": "2020-08-30T20:09:56.000000Z",
"updated_at": "2020-08-30T20:09:56.000000Z",
"user_id": 1,
"title": "Latest",
"library_id": 98,
"parameters": "{\"l10n\":{\"recordAnswer\":\"Record\",\"pause\":\"Pause\",\"continue\":\"Continue\",\"download\":\"Download\",\"done\":\"Done\",\"retry\":\"Retry\",\"microphoneNotSupported\":\"Microphone not supported. Make sure you are using a browser that allows microphone recording.\",\"microphoneInaccessible\":\"Microphone is not accessible. Make sure that the browser microphone is enabled.\",\"insecureNotAllowed\":\"Access to microphone is not allowed in your browser since this page is not served using HTTPS. Please contact the author, and ask him to make this available using HTTPS\",\"statusReadyToRecord\":\"Press a button below to record your answer.\",\"statusRecording\":\"Recording...\",\"statusPaused\":\"Recording paused. Press a button to continue recording.\",\"statusFinishedRecording\":\"You have successfully recorded your answer! Listen to the recording below.\",\"downloadRecording\":\"Download this recording or retry.\",\"retryDialogHeaderText\":\"Retry recording?\",\"retryDialogBodyText\":\"By pressing \\\"Retry\\\" you will lose your current recording.\",\"retryDialogConfirmText\":\"Retry\",\"retryDialogCancelText\":\"Cancel\",\"statusCantCreateTheAudioFile\":\"Can't create the audio file.\"}}",
"filtered": "",
"slug": "latest",
"embed_type": "div",
"disable": 9,
"content_type": null,
"authors": null,
"source": null,
"year_from": null,
"year_to": null,
"license": "U",
"license_version": null,
"license_extras": null,
"author_comments": null,
"changes": null,
"default_language": null
},
"is_public": false,
"created_at": "2020-08-30T20:22:47.000000Z",
"updated_at": "2020-08-30T20:22:47.000000Z"
},
{
"id": 17776,
"playlist_id": 1,
"title": "Latest",
"type": "h5p",
"content": "test",
"shared": false,
"order": null,
"thumb_url": "/storage/activities/DrV6rZ6ZDXFMT1k51gbOqw04rqguq6CMtiiD1nDH.png",
"subject_id": "Mathematics",
"education_level_id": null,
"h5p_content": {
"id": 19334,
"created_at": "2020-08-30T20:09:56.000000Z",
"updated_at": "2020-08-30T20:09:56.000000Z",
"user_id": 1,
"title": "Latest",
"library_id": 98,
"parameters": "{\"l10n\":{\"recordAnswer\":\"Record\",\"pause\":\"Pause\",\"continue\":\"Continue\",\"download\":\"Download\",\"done\":\"Done\",\"retry\":\"Retry\",\"microphoneNotSupported\":\"Microphone not supported. Make sure you are using a browser that allows microphone recording.\",\"microphoneInaccessible\":\"Microphone is not accessible. Make sure that the browser microphone is enabled.\",\"insecureNotAllowed\":\"Access to microphone is not allowed in your browser since this page is not served using HTTPS. Please contact the author, and ask him to make this available using HTTPS\",\"statusReadyToRecord\":\"Press a button below to record your answer.\",\"statusRecording\":\"Recording...\",\"statusPaused\":\"Recording paused. Press a button to continue recording.\",\"statusFinishedRecording\":\"You have successfully recorded your answer! Listen to the recording below.\",\"downloadRecording\":\"Download this recording or retry.\",\"retryDialogHeaderText\":\"Retry recording?\",\"retryDialogBodyText\":\"By pressing \\\"Retry\\\" you will lose your current recording.\",\"retryDialogConfirmText\":\"Retry\",\"retryDialogCancelText\":\"Cancel\",\"statusCantCreateTheAudioFile\":\"Can't create the audio file.\"}}",
"filtered": "",
"slug": "latest",
"embed_type": "div",
"disable": 9,
"content_type": null,
"authors": null,
"source": null,
"year_from": null,
"year_to": null,
"license": "U",
"license_version": null,
"license_extras": null,
"author_comments": null,
"changes": null,
"default_language": null
},
"is_public": false,
"created_at": "2020-08-30T20:24:29.000000Z",
"updated_at": "2020-08-30T20:24:29.000000Z"
},
{
"id": 3,
"playlist_id": 1,
"title": "Physics Vocabulary Study Guide",
"type": "h5p",
"content": "",
"shared": false,
"order": 1,
"thumb_url": null,
"subject_id": null,
"education_level_id": null,
"h5p_content": {
"id": 61,
"created_at": "2020-04-30T20:35:30.000000Z",
"updated_at": "2020-04-30T20:35:30.000000Z",
"user_id": 1,
"title": "Physics Vocabulary Study Guide",
"library_id": 63,
"parameters": "{\"panels\":[{\"content\":{\"params\":{\"text\":\"<p style=\\\"margin-bottom:10px\\\"><span style=\\\"font-size:11pt\\\"><span style=\\\"line-height:107%\\\"><span style=\\\"font-family:Calibri,sans-serif\\\">Acceleration is the measurement of the change </span></span></span><span style=\\\"font-size:11.0pt\\\"><span style=\\\"line-height:107%\\\"><span style=\\\"font-family:"Calibri",sans-serif\\\">in an object\\u2019s velocity. </span></span></span></p>\\n\"},\"library\":\"H5P.AdvancedText 1.1\",\"subContentId\":\"97578055-d386-46be-afe3-c19eae4108aa\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Acceleration\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Acceleration\"}},\"title\":\"Acceleration\"},{\"content\":{\"params\":{\"text\":\"<p style=\\\"margin-bottom:10px\\\"><span style=\\\"font-size:11pt\\\"><span style=\\\"line-height:107%\\\"><span style=\\\"font-family:Calibri,sans-serif\\\">The faster the air moves, the less pressure it exerts.</span></span></span></p>\\n\"},\"library\":\"H5P.AdvancedText 1.1\",\"subContentId\":\"0ce32fbf-4ff1-465b-9c50-8876c5fef34d\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Bernoulli\\u2019s Principle\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Bernoulli\\u2019s Principle\"}},\"title\":\"Bernoulli\\u2019s Principle\"},{\"content\":{\"params\":{\"text\":\"<p><span style=\\\"font-size:10.5pt\\\"><span style=\\\"line-height:107%\\\"><span style=\\\"font-family:"Calibri",sans-serif\\\"><span style=\\\"color:black\\\">A vector is a quantity that has both a magnitude and a direction.</span></span></span></span></p>\\n\"},\"library\":\"H5P.AdvancedText 1.1\",\"subContentId\":\"cead752e-0c29-4acb-b9ae-2f61a3cd5c9b\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Vector\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Vector\"}},\"title\":\"Vector\"},{\"content\":{\"params\":{\"text\":\"<p><span style=\\\"font-size:10.5pt\\\"><span style=\\\"line-height:107%\\\"><span style=\\\"font-family:"Calibri",sans-serif\\\"><span style=\\\"color:black\\\">Drag is the force that acts opposite to the direction of motion. Drag is caused by friction and differences in air pressure.</span></span></span></span></p>\\n\"},\"library\":\"H5P.AdvancedText 1.1\",\"subContentId\":\"6ae4b819-276d-405e-b085-e894c31484d3\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Drag\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Drag\"}},\"title\":\"Drag\"},{\"content\":{\"params\":{\"text\":\"<p style=\\\"margin-bottom:10px\\\"><span style=\\\"font-size:11pt\\\"><span style=\\\"line-height:normal\\\"><span style=\\\"font-family:Calibri,sans-serif\\\"><span style=\\\"font-size:10.5pt\\\"><span style=\\\"color:black\\\">A turbulent flow is one in which the particles have irregular, fluctuating motions and erratic paths.</span></span></span></span></span></p>\\n\"},\"library\":\"H5P.AdvancedText 1.1\",\"subContentId\":\"f9f63fdd-0a8a-4259-a3f1-ca7271b51727\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Turbulent airflow\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Turbulent airflow\"}},\"title\":\"Turbulent airflow\"},{\"content\":{\"params\":{\"text\":\"<p style=\\\"margin-bottom:10px\\\"><span style=\\\"font-size:11pt\\\"><span style=\\\"line-height:107%\\\"><span style=\\\"font-family:Calibri,sans-serif\\\">Friction is the resistance of motion when one object rubs against another. It is a force and is measured in newtons.</span></span></span></p>\\n\"},\"library\":\"H5P.AdvancedText 1.1\",\"subContentId\":\"236c832f-f754-47d6-8d2c-1311a354d861\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Friction\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Friction\"}},\"title\":\"Friction\"}],\"hTag\":\"h2\"}",
"filtered": "{\"panels\":[{\"content\":{\"params\":{\"text\":\"<p><span><span><span>Acceleration is the measurement of the change </span></span></span><span><span><span>in an object\\u2019s velocity. </span></span></span></p>\\n\"},\"library\":\"H5P.AdvancedText 1.1\",\"subContentId\":\"97578055-d386-46be-afe3-c19eae4108aa\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Acceleration\"}},\"title\":\"Acceleration\"},{\"content\":{\"params\":{\"text\":\"<p><span><span><span>The faster the air moves, the less pressure it exerts.</span></span></span></p>\\n\"},\"library\":\"H5P.AdvancedText 1.1\",\"subContentId\":\"0ce32fbf-4ff1-465b-9c50-8876c5fef34d\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Bernoulli\\u2019s Principle\"}},\"title\":\"Bernoulli\\u2019s Principle\"},{\"content\":{\"params\":{\"text\":\"<p><span><span><span><span>A vector is a quantity that has both a magnitude and a direction.</span></span></span></span></p>\\n\"},\"library\":\"H5P.AdvancedText 1.1\",\"subContentId\":\"cead752e-0c29-4acb-b9ae-2f61a3cd5c9b\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Vector\"}},\"title\":\"Vector\"},{\"content\":{\"params\":{\"text\":\"<p><span><span><span><span>Drag is the force that acts opposite to the direction of motion. Drag is caused by friction and differences in air pressure.</span></span></span></span></p>\\n\"},\"library\":\"H5P.AdvancedText 1.1\",\"subContentId\":\"6ae4b819-276d-405e-b085-e894c31484d3\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Drag\"}},\"title\":\"Drag\"},{\"content\":{\"params\":{\"text\":\"<p><span><span><span><span><span>A turbulent flow is one in which the particles have irregular, fluctuating motions and erratic paths.</span></span></span></span></span></p>\\n\"},\"library\":\"H5P.AdvancedText 1.1\",\"subContentId\":\"f9f63fdd-0a8a-4259-a3f1-ca7271b51727\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Turbulent airflow\"}},\"title\":\"Turbulent airflow\"},{\"content\":{\"params\":{\"text\":\"<p><span><span><span>Friction is the resistance of motion when one object rubs against another. It is a force and is measured in newtons.</span></span></span></p>\\n\"},\"library\":\"H5P.AdvancedText 1.1\",\"subContentId\":\"236c832f-f754-47d6-8d2c-1311a354d861\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Friction\"}},\"title\":\"Friction\"}],\"hTag\":\"h2\"}",
"slug": "physics-vocabulary-study-guide",
"embed_type": "div",
"disable": 9,
"content_type": null,
"authors": null,
"source": null,
"year_from": null,
"year_to": null,
"license": "U",
"license_version": null,
"license_extras": null,
"author_comments": null,
"changes": null,
"default_language": null
},
"is_public": false,
"created_at": null,
"updated_at": null
},
{
"id": 1,
"playlist_id": 1,
"title": "Science of Golf: Why Balls Have Dimples",
"type": "h5p",
"content": "",
"shared": false,
"order": 2,
"thumb_url": null,
"subject_id": null,
"education_level_id": null,
"h5p_content": {
"id": 59,
"created_at": "2020-04-30T20:24:58.000000Z",
"updated_at": "2020-04-30T20:24:58.000000Z",
"user_id": 1,
"title": "Science of Golf: Why Balls Have Dimples",
"library_id": 40,
"parameters": "{\"interactiveVideo\":{\"video\":{\"startScreenOptions\":{\"title\":\"Interactive Video\",\"hideStartTitle\":false},\"textTracks\":{\"videoTrack\":[{\"label\":\"Subtitles\",\"kind\":\"subtitles\",\"srcLang\":\"en\"}]},\"files\":[{\"path\":\"https://youtu.be/fcjaxC-e8oY\",\"mime\":\"video/YouTube\",\"copyright\":{\"license\":\"U\"},\"aspectRatio\":\"16:9\"}]},\"assets\":{\"interactions\":[{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":58.33,\"to\":68.33},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"133bca3d-cfe9-442d-a887-8bf1e2ce682a\",\"question\":\"<p>Why do golf balls have dimples?</p>\\n\",\"answers\":[\"<p>They reduce wind resistance.</p>\\n\",\"<p>They make the ball more visually interesting.</p>\\n\",\"<p>They grip the putting green better than a smooth ball.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"ac029b43-7225-49ed-a2d7-8656037748e0\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Why do golf balls have dimples?\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Why do golf balls have dimples?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Why do golf balls have dimples?</p>\\n\"},{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":132.969,\"to\":142.969},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"308503f3-8d41-4f4f-b016-587bcce3dfac\",\"question\":\"<p>A smooth ball will have a detached airflow, which causes what?</p>\\n\",\"answers\":[\"<p>A low pressure zone, which is what causes drag.</p>\\n\",\"<p>The ball has no spin.</p>\\n\",\"<p>The ball travels higher, but for a shorter distance.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"f70c849d-9542-4f30-9116-8b60b7da708d\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Smooth Ball?\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Smooth Ball?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Smooth Ball</p>\\n\"}],\"bookmarks\":[],\"endscreens\":[{\"time\":295,\"label\":\"4:55 Submit screen\"}]},\"summary\":{\"task\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"8e2cf84f-4557-4f79-a03e-526838498a7d\",\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"8d5527ef-3601-4ad9-9e63-2782c9775173\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Untitled Summary\"}},\"displayAt\":3}},\"override\":{\"autoplay\":false,\"loop\":false,\"showBookmarksmenuOnLoad\":false,\"showRewind10\":false,\"preventSkipping\":false,\"deactivateSound\":false},\"l10n\":{\"interaction\":\"Interaction\",\"play\":\"Play\",\"pause\":\"Pause\",\"mute\":\"Mute\",\"unmute\":\"Unmute\",\"quality\":\"Video Quality\",\"captions\":\"Captions\",\"close\":\"Close\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit Fullscreen\",\"summary\":\"Open summary dialog\",\"bookmarks\":\"Bookmarks\",\"endscreen\":\"Submit screen\",\"defaultAdaptivitySeekLabel\":\"Continue\",\"continueWithVideo\":\"Continue with video\",\"playbackRate\":\"Playback Rate\",\"rewind10\":\"Rewind 10 Seconds\",\"navDisabled\":\"Navigation is disabled\",\"sndDisabled\":\"Sound is disabled\",\"requiresCompletionWarning\":\"You need to answer all the questions correctly before continuing.\",\"back\":\"Back\",\"hours\":\"Hours\",\"minutes\":\"Minutes\",\"seconds\":\"Seconds\",\"currentTime\":\"Current time:\",\"totalTime\":\"Total time:\",\"singleInteractionAnnouncement\":\"Interaction appeared:\",\"multipleInteractionsAnnouncement\":\"Multiple interactions appeared.\",\"videoPausedAnnouncement\":\"Video is paused\",\"content\":\"Content\",\"answered\":\"@answered answered\",\"endcardTitle\":\"@answered Question(s) answered\",\"endcardInformation\":\"You have answered @answered questions, click below to submit your answers.\",\"endcardInformationNoAnswers\":\"You have not answered any questions.\",\"endcardInformationMustHaveAnswer\":\"You have to answer at least one question before you can submit your answers.\",\"endcardSubmitButton\":\"Submit Answers\",\"endcardSubmitMessage\":\"Your answers have been submitted!\",\"endcardTableRowAnswered\":\"Answered questions\",\"endcardTableRowScore\":\"Score\",\"endcardAnsweredScore\":\"answered\",\"endCardTableRowSummaryWithScore\":\"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\"endCardTableRowSummaryWithoutScore\":\"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\"}}",
"filtered": "{\"interactiveVideo\":{\"video\":{\"startScreenOptions\":{\"title\":\"Interactive Video\",\"hideStartTitle\":false},\"textTracks\":{\"videoTrack\":[{\"label\":\"Subtitles\",\"kind\":\"subtitles\",\"srcLang\":\"en\"}]},\"files\":[{\"path\":\"https://youtu.be/fcjaxC-e8oY\",\"mime\":\"video/YouTube\",\"copyright\":{\"license\":\"U\"}}]},\"assets\":{\"interactions\":[{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":58.33,\"to\":68.33},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"133bca3d-cfe9-442d-a887-8bf1e2ce682a\",\"question\":\"<p>Why do golf balls have dimples?</p>\\n\",\"answers\":[\"<p>They reduce wind resistance.</p>\\n\",\"<p>They make the ball more visually interesting.</p>\\n\",\"<p>They grip the putting green better than a smooth ball.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"ac029b43-7225-49ed-a2d7-8656037748e0\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Why do golf balls have dimples?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Why do golf balls have dimples?</p>\\n\"},{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":132.969,\"to\":142.969},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"308503f3-8d41-4f4f-b016-587bcce3dfac\",\"question\":\"<p>A smooth ball will have a detached airflow, which causes what?</p>\\n\",\"answers\":[\"<p>A low pressure zone, which is what causes drag.</p>\\n\",\"<p>The ball has no spin.</p>\\n\",\"<p>The ball travels higher, but for a shorter distance.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"f70c849d-9542-4f30-9116-8b60b7da708d\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Smooth Ball?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Smooth Ball</p>\\n\"}],\"endscreens\":[{\"time\":295,\"label\":\"4:55 Submit screen\"}]},\"summary\":{\"task\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"8e2cf84f-4557-4f79-a03e-526838498a7d\",\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"8d5527ef-3601-4ad9-9e63-2782c9775173\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\"}},\"displayAt\":3}},\"override\":{\"autoplay\":false,\"loop\":false,\"showBookmarksmenuOnLoad\":false,\"showRewind10\":false,\"preventSkipping\":false,\"deactivateSound\":false},\"l10n\":{\"interaction\":\"Interaction\",\"play\":\"Play\",\"pause\":\"Pause\",\"mute\":\"Mute\",\"unmute\":\"Unmute\",\"quality\":\"Video Quality\",\"captions\":\"Captions\",\"close\":\"Close\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit Fullscreen\",\"summary\":\"Open summary dialog\",\"bookmarks\":\"Bookmarks\",\"endscreen\":\"Submit screen\",\"defaultAdaptivitySeekLabel\":\"Continue\",\"continueWithVideo\":\"Continue with video\",\"playbackRate\":\"Playback Rate\",\"rewind10\":\"Rewind 10 Seconds\",\"navDisabled\":\"Navigation is disabled\",\"sndDisabled\":\"Sound is disabled\",\"requiresCompletionWarning\":\"You need to answer all the questions correctly before continuing.\",\"back\":\"Back\",\"hours\":\"Hours\",\"minutes\":\"Minutes\",\"seconds\":\"Seconds\",\"currentTime\":\"Current time:\",\"totalTime\":\"Total time:\",\"singleInteractionAnnouncement\":\"Interaction appeared:\",\"multipleInteractionsAnnouncement\":\"Multiple interactions appeared.\",\"videoPausedAnnouncement\":\"Video is paused\",\"content\":\"Content\",\"answered\":\"@answered answered\",\"endcardTitle\":\"@answered Question(s) answered\",\"endcardInformation\":\"You have answered @answered questions, click below to submit your answers.\",\"endcardInformationNoAnswers\":\"You have not answered any questions.\",\"endcardInformationMustHaveAnswer\":\"You have to answer at least one question before you can submit your answers.\",\"endcardSubmitButton\":\"Submit Answers\",\"endcardSubmitMessage\":\"Your answers have been submitted!\",\"endcardTableRowAnswered\":\"Answered questions\",\"endcardTableRowScore\":\"Score\",\"endcardAnsweredScore\":\"answered\",\"endCardTableRowSummaryWithScore\":\"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\"endCardTableRowSummaryWithoutScore\":\"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\"}}",
"slug": "science-of-golf-why-balls-have-dimples",
"embed_type": "div",
"disable": 9,
"content_type": null,
"authors": null,
"source": null,
"year_from": null,
"year_to": null,
"license": "U",
"license_version": null,
"license_extras": null,
"author_comments": null,
"changes": null,
"default_language": null
},
"is_public": false,
"created_at": null,
"updated_at": null
},
{
"id": 2,
"playlist_id": 1,
"title": "Physics and Golf Balls",
"type": "h5p",
"content": "",
"shared": false,
"order": 3,
"thumb_url": null,
"subject_id": null,
"education_level_id": null,
"h5p_content": {
"id": 60,
"created_at": "2020-04-30T20:31:11.000000Z",
"updated_at": "2020-04-30T20:31:11.000000Z",
"user_id": 1,
"title": "Physics and Golf Balls",
"library_id": 60,
"parameters": "{\"cards\":[{\"text\":\"Is the measurement of the change in an object\\u2019s velocity called Speed or Acceleration?\",\"answer\":\"Acceleration\",\"image\":{\"path\":\"images/image-5eab35098aaf0.png#tmp\",\"mime\":\"image/png\",\"copyright\":{\"license\":\"U\"},\"width\":1280,\"height\":720},\"tip\":\"\"},{\"text\":\"Dimples reduce wind resistance or aerodynamic drag. Does that make the ball go farther or faster?\",\"answer\":\"Farther\",\"image\":{\"path\":\"images/image-5eab355f7ca78.jpg#tmp\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":1280,\"height\":720},\"tip\":\"\"},{\"text\":\"Do dimples on a ball increase or decrease the lift?\",\"answer\":\"Increase\",\"image\":{\"path\":\"images/image-5eab3589be9e3.jpg#tmp\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":634,\"height\":508},\"tip\":\"\"}],\"progressText\":\"Card @card of @total\",\"next\":\"Next\",\"previous\":\"Previous\",\"checkAnswerText\":\"Check\",\"showSolutionsRequiresInput\":true,\"defaultAnswerText\":\"Your answer\",\"correctAnswerText\":\"Correct\",\"incorrectAnswerText\":\"Incorrect\",\"showSolutionText\":\"Correct answer\",\"results\":\"Results\",\"ofCorrect\":\"@score of @total correct\",\"showResults\":\"Show results\",\"answerShortText\":\"A:\",\"retry\":\"Retry\",\"caseSensitive\":false,\"cardAnnouncement\":\"Incorrect answer. Correct answer was @answer\",\"pageAnnouncement\":\"Page @current of @total\",\"description\":\"See if you can remember what you learned!\"}",
"filtered": "{\"cards\":[{\"text\":\"Is the measurement of the change in an object\\u2019s velocity called Speed or Acceleration?\",\"answer\":\"Acceleration\",\"image\":{\"path\":\"images/image-5eab35098aaf0.png\",\"mime\":\"image/png\",\"copyright\":{\"license\":\"U\"},\"width\":1280,\"height\":720},\"tip\":\"\"},{\"text\":\"Dimples reduce wind resistance or aerodynamic drag. Does that make the ball go farther or faster?\",\"answer\":\"Farther\",\"image\":{\"path\":\"images/image-5eab355f7ca78.jpg\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":1280,\"height\":720},\"tip\":\"\"},{\"text\":\"Do dimples on a ball increase or decrease the lift?\",\"answer\":\"Increase\",\"image\":{\"path\":\"images/image-5eab3589be9e3.jpg\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":634,\"height\":508},\"tip\":\"\"}],\"progressText\":\"Card @card of @total\",\"next\":\"Next\",\"previous\":\"Previous\",\"checkAnswerText\":\"Check\",\"showSolutionsRequiresInput\":true,\"defaultAnswerText\":\"Your answer\",\"correctAnswerText\":\"Correct\",\"incorrectAnswerText\":\"Incorrect\",\"showSolutionText\":\"Correct answer\",\"results\":\"Results\",\"ofCorrect\":\"@score of @total correct\",\"showResults\":\"Show results\",\"answerShortText\":\"A:\",\"retry\":\"Retry\",\"caseSensitive\":false,\"cardAnnouncement\":\"Incorrect answer. Correct answer was @answer\",\"pageAnnouncement\":\"Page @current of @total\",\"description\":\"See if you can remember what you learned!\"}",
"slug": "physics-and-golf-balls",
"embed_type": "div",
"disable": 9,
"content_type": null,
"authors": null,
"source": null,
"year_from": null,
"year_to": null,
"license": "U",
"license_version": null,
"license_extras": null,
"author_comments": null,
"changes": null,
"default_language": null
},
"is_public": false,
"created_at": null,
"updated_at": null
},
{
"id": 6,
"playlist_id": 1,
"title": "Understanding Gear Effect | Equipment and Tech | 18Birdies",
"type": "h5p",
"content": "",
"shared": false,
"order": 4,
"thumb_url": null,
"subject_id": null,
"education_level_id": null,
"h5p_content": {
"id": 75,
"created_at": "2020-05-01T04:51:11.000000Z",
"updated_at": "2020-05-01T04:51:11.000000Z",
"user_id": 1,
"title": "Understanding Gear Effect | Equipment and Tech | 18Birdies",
"library_id": 40,
"parameters": "{\"interactiveVideo\":{\"video\":{\"startScreenOptions\":{\"title\":\"Interactive Video\",\"hideStartTitle\":false},\"textTracks\":{\"videoTrack\":[{\"label\":\"Subtitles\",\"kind\":\"subtitles\",\"srcLang\":\"en\"}]},\"files\":[{\"path\":\"https://www.youtube.com/watch?v=FdH0JQL5E-U&list=PLVIShUJLAj0rWw3Yr3VtFGH4IbIVMfQFo\",\"mime\":\"video/YouTube\",\"copyright\":{\"license\":\"U\"},\"aspectRatio\":\"16:9\"}]},\"assets\":{\"interactions\":[{\"x\":46.87499999999999,\"y\":44.44444444444444,\"width\":10,\"height\":10,\"duration\":{\"from\":52,\"to\":52},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"c9f0c83d-2ba2-4810-843a-1ee7bec2076f\",\"question\":\"<p>\\\"Torque\\\" is a property of golf shafts that describes how much the shaft is prone to twisting during the golf swing.</p>\\n\",\"answers\":[\"<p>True</p>\\n\",\"<p>False</p>\\n\"]},{\"subContentId\":\"81f2e02c-0f04-44a3-922c-4eac61a11acb\",\"question\":\"<p>... A shaft with a _____ torque rating means the shaft better resists twisting; a shaft with a ____ torque rating means the shaft is more prone to twisting (all other things being equal).</p>\\n\",\"answers\":[\"<p>lower, higher</p>\\n\",\"<p>higher, lower</p>\\n\",\"<p>sharper, duller</p>\\n\",\"<p>straigher, curved</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"eadebb1e-891e-4ff3-8676-943c2616a9e0\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Untitled Single Choice Set\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Untitled Single Choice Set\"}},\"pause\":true,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"\"},{\"x\":46.87499999999999,\"y\":44.44444444444444,\"width\":10,\"height\":10,\"duration\":{\"from\":24.314,\"to\":34.314},\"libraryTitle\":\"Statements\",\"action\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"7bce98af-5267-4ca6-a08c-0c8f2bef5afb\",\"summary\":[\"Gear effect is the term used to explain how and why hitting the ball off-center changes the ball flight.\\n\",\"<p>Gear effect is the term used to explain how and why it is imprtant to adjust the pressure on the clubhead.</p>\\n\",\"<p>Gear effect is the term used to explain how and why it is imprtant to ride your bike to the course.</p>\\n\"],\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"3b954191-ad43-452c-95c3-868047eb55be\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Untitled Summary\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"}},\"label\":\"\"},{\"x\":46.87499999999999,\"y\":44.44444444444444,\"width\":10,\"height\":10,\"duration\":{\"from\":145.688,\"to\":155.688},\"libraryTitle\":\"Multiple Choice\",\"action\":{\"library\":\"H5P.MultiChoice 1.14\",\"params\":{\"media\":{\"type\":{\"params\":{}},\"disableImageZooming\":false},\"answers\":[{\"correct\":true,\"tipsAndFeedback\":{\"tip\":\"\",\"chosenFeedback\":\"\",\"notChosenFeedback\":\"\"},\"text\":\"<div>This pushes the ball to the right, causing a fade slice curved flight.</div>\\n\"},{\"correct\":false,\"tipsAndFeedback\":{\"tip\":\"\",\"chosenFeedback\":\"\",\"notChosenFeedback\":\"\"},\"text\":\"<div>This pushes the ball to the left, causing a <strong>slice</strong> curved flight.</div>\\n\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"enableRetry\":true,\"enableSolutionsButton\":true,\"enableCheckButton\":true,\"type\":\"auto\",\"singlePoint\":false,\"randomAnswers\":true,\"showSolutionsRequiresInput\":true,\"confirmCheckDialog\":false,\"confirmRetryDialog\":false,\"autoCheck\":false,\"passPercentage\":100,\"showScorePoints\":true},\"UI\":{\"checkAnswerButton\":\"Check\",\"showSolutionButton\":\"Show solution\",\"tryAgainButton\":\"Retry\",\"tipsLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"tipAvailable\":\"Tip available\",\"feedbackAvailable\":\"Feedback available\",\"readFeedback\":\"Read feedback\",\"wrongAnswer\":\"Wrong answer\",\"correctAnswer\":\"Correct answer\",\"shouldCheck\":\"Should have been checked\",\"shouldNotCheck\":\"Should not have been checked\",\"noInput\":\"Please answer before viewing the solution\"},\"confirmCheck\":{\"header\":\"Finish ?\",\"body\":\"Are you sure you wish to finish ?\",\"cancelLabel\":\"Cancel\",\"confirmLabel\":\"Finish\"},\"confirmRetry\":{\"header\":\"Retry ?\",\"body\":\"Are you sure you wish to retry ?\",\"cancelLabel\":\"Cancel\",\"confirmLabel\":\"Confirm\"},\"question\":\"<p>When a ball is spinning in a clockwise direction, there is high pressure on the left hand side of the ball, and low pressure on the right.</p>\\n\"},\"subContentId\":\"df5e99b0-6513-4aa9-a760-e3d9e2bfefe9\",\"metadata\":{\"contentType\":\"Multiple Choice\",\"license\":\"U\",\"title\":\"Untitled Multiple Choice\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Untitled Multiple Choice\"}},\"pause\":true,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"\"}],\"bookmarks\":[],\"endscreens\":[{\"time\":358,\"label\":\"5:58 Submit screen\"}]},\"summary\":{\"task\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"64506cb8-ea40-4c72-8c98-ed0bb3c3b808\",\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"b8eb5a4d-5e2e-4b74-95f5-ca37d1a45186\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Untitled Summary\"}},\"displayAt\":3}},\"override\":{\"autoplay\":true,\"loop\":false,\"showBookmarksmenuOnLoad\":false,\"showRewind10\":false,\"preventSkipping\":false,\"deactivateSound\":false,\"startVideoAt\":37},\"l10n\":{\"interaction\":\"Interaction\",\"play\":\"Play\",\"pause\":\"Pause\",\"mute\":\"Mute\",\"unmute\":\"Unmute\",\"quality\":\"Video Quality\",\"captions\":\"Captions\",\"close\":\"Close\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit Fullscreen\",\"summary\":\"Open summary dialog\",\"bookmarks\":\"Bookmarks\",\"endscreen\":\"Submit screen\",\"defaultAdaptivitySeekLabel\":\"Continue\",\"continueWithVideo\":\"Continue with video\",\"playbackRate\":\"Playback Rate\",\"rewind10\":\"Rewind 10 Seconds\",\"navDisabled\":\"Navigation is disabled\",\"sndDisabled\":\"Sound is disabled\",\"requiresCompletionWarning\":\"You need to answer all the questions correctly before continuing.\",\"back\":\"Back\",\"hours\":\"Hours\",\"minutes\":\"Minutes\",\"seconds\":\"Seconds\",\"currentTime\":\"Current time:\",\"totalTime\":\"Total time:\",\"singleInteractionAnnouncement\":\"Interaction appeared:\",\"multipleInteractionsAnnouncement\":\"Multiple interactions appeared.\",\"videoPausedAnnouncement\":\"Video is paused\",\"content\":\"Content\",\"answered\":\"@answered answered\",\"endcardTitle\":\"@answered Question(s) answered\",\"endcardInformation\":\"You have answered @answered questions, click below to submit your answers.\",\"endcardInformationNoAnswers\":\"You have not answered any questions.\",\"endcardInformationMustHaveAnswer\":\"You have to answer at least one question before you can submit your answers.\",\"endcardSubmitButton\":\"Submit Answers\",\"endcardSubmitMessage\":\"Your answers have been submitted!\",\"endcardTableRowAnswered\":\"Answered questions\",\"endcardTableRowScore\":\"Score\",\"endcardAnsweredScore\":\"answered\",\"endCardTableRowSummaryWithScore\":\"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\"endCardTableRowSummaryWithoutScore\":\"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\"}}",
"filtered": "{\"interactiveVideo\":{\"video\":{\"startScreenOptions\":{\"title\":\"Interactive Video\",\"hideStartTitle\":false},\"textTracks\":{\"videoTrack\":[{\"label\":\"Subtitles\",\"kind\":\"subtitles\",\"srcLang\":\"en\"}]},\"files\":[{\"path\":\"https://www.youtube.com/watch?v=FdH0JQL5E-U&list=PLVIShUJLAj0rWw3Yr3VtFGH4IbIVMfQFo\",\"mime\":\"video/YouTube\",\"copyright\":{\"license\":\"U\"}}]},\"assets\":{\"interactions\":[{\"x\":46.87499999999999,\"y\":44.44444444444444,\"width\":10,\"height\":10,\"duration\":{\"from\":52,\"to\":52},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"c9f0c83d-2ba2-4810-843a-1ee7bec2076f\",\"question\":\"<p>\\\"Torque\\\" is a property of golf shafts that describes how much the shaft is prone to twisting during the golf swing.</p>\\n\",\"answers\":[\"<p>True</p>\\n\",\"<p>False</p>\\n\"]},{\"subContentId\":\"81f2e02c-0f04-44a3-922c-4eac61a11acb\",\"question\":\"<p>... A shaft with a _____ torque rating means the shaft better resists twisting; a shaft with a ____ torque rating means the shaft is more prone to twisting (all other things being equal).</p>\\n\",\"answers\":[\"<p>lower, higher</p>\\n\",\"<p>higher, lower</p>\\n\",\"<p>sharper, duller</p>\\n\",\"<p>straigher, curved</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"eadebb1e-891e-4ff3-8676-943c2616a9e0\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Untitled Single Choice Set\"}},\"pause\":true,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"\"},{\"x\":46.87499999999999,\"y\":44.44444444444444,\"width\":10,\"height\":10,\"duration\":{\"from\":24.314,\"to\":34.314},\"libraryTitle\":\"Statements\",\"action\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"7bce98af-5267-4ca6-a08c-0c8f2bef5afb\",\"summary\":[\"Gear effect is the term used to explain how and why hitting the ball off-center changes the ball flight.\\n\",\"<p>Gear effect is the term used to explain how and why it is imprtant to adjust the pressure on the clubhead.</p>\\n\",\"<p>Gear effect is the term used to explain how and why it is imprtant to ride your bike to the course.</p>\\n\"],\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"3b954191-ad43-452c-95c3-868047eb55be\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"}},\"label\":\"\"},{\"x\":46.87499999999999,\"y\":44.44444444444444,\"width\":10,\"height\":10,\"duration\":{\"from\":145.688,\"to\":155.688},\"libraryTitle\":\"Multiple Choice\",\"action\":{\"library\":\"H5P.MultiChoice 1.14\",\"params\":{\"media\":{\"disableImageZooming\":false},\"answers\":[{\"correct\":true,\"tipsAndFeedback\":{\"tip\":\"\",\"chosenFeedback\":\"\",\"notChosenFeedback\":\"\"},\"text\":\"<div>This pushes the ball to the right, causing a fade slice curved flight.</div>\\n\"},{\"correct\":false,\"tipsAndFeedback\":{\"tip\":\"\",\"chosenFeedback\":\"\",\"notChosenFeedback\":\"\"},\"text\":\"<div>This pushes the ball to the left, causing a <strong>slice</strong> curved flight.</div>\\n\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"enableRetry\":true,\"enableSolutionsButton\":true,\"enableCheckButton\":true,\"type\":\"auto\",\"singlePoint\":false,\"randomAnswers\":true,\"showSolutionsRequiresInput\":true,\"confirmCheckDialog\":false,\"confirmRetryDialog\":false,\"autoCheck\":false,\"passPercentage\":100,\"showScorePoints\":true},\"UI\":{\"checkAnswerButton\":\"Check\",\"showSolutionButton\":\"Show solution\",\"tryAgainButton\":\"Retry\",\"tipsLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"tipAvailable\":\"Tip available\",\"feedbackAvailable\":\"Feedback available\",\"readFeedback\":\"Read feedback\",\"wrongAnswer\":\"Wrong answer\",\"correctAnswer\":\"Correct answer\",\"shouldCheck\":\"Should have been checked\",\"shouldNotCheck\":\"Should not have been checked\",\"noInput\":\"Please answer before viewing the solution\"},\"confirmCheck\":{\"header\":\"Finish ?\",\"body\":\"Are you sure you wish to finish ?\",\"cancelLabel\":\"Cancel\",\"confirmLabel\":\"Finish\"},\"confirmRetry\":{\"header\":\"Retry ?\",\"body\":\"Are you sure you wish to retry ?\",\"cancelLabel\":\"Cancel\",\"confirmLabel\":\"Confirm\"},\"question\":\"<p>When a ball is spinning in a clockwise direction, there is high pressure on the left hand side of the ball, and low pressure on the right.</p>\\n\"},\"subContentId\":\"df5e99b0-6513-4aa9-a760-e3d9e2bfefe9\",\"metadata\":{\"contentType\":\"Multiple Choice\",\"license\":\"U\",\"title\":\"Untitled Multiple Choice\"}},\"pause\":true,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"\"}],\"endscreens\":[{\"time\":358,\"label\":\"5:58 Submit screen\"}]},\"summary\":{\"task\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"64506cb8-ea40-4c72-8c98-ed0bb3c3b808\",\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"b8eb5a4d-5e2e-4b74-95f5-ca37d1a45186\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\"}},\"displayAt\":3}},\"override\":{\"autoplay\":true,\"loop\":false,\"showBookmarksmenuOnLoad\":false,\"showRewind10\":false,\"preventSkipping\":false,\"deactivateSound\":false,\"startVideoAt\":37},\"l10n\":{\"interaction\":\"Interaction\",\"play\":\"Play\",\"pause\":\"Pause\",\"mute\":\"Mute\",\"unmute\":\"Unmute\",\"quality\":\"Video Quality\",\"captions\":\"Captions\",\"close\":\"Close\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit Fullscreen\",\"summary\":\"Open summary dialog\",\"bookmarks\":\"Bookmarks\",\"endscreen\":\"Submit screen\",\"defaultAdaptivitySeekLabel\":\"Continue\",\"continueWithVideo\":\"Continue with video\",\"playbackRate\":\"Playback Rate\",\"rewind10\":\"Rewind 10 Seconds\",\"navDisabled\":\"Navigation is disabled\",\"sndDisabled\":\"Sound is disabled\",\"requiresCompletionWarning\":\"You need to answer all the questions correctly before continuing.\",\"back\":\"Back\",\"hours\":\"Hours\",\"minutes\":\"Minutes\",\"seconds\":\"Seconds\",\"currentTime\":\"Current time:\",\"totalTime\":\"Total time:\",\"singleInteractionAnnouncement\":\"Interaction appeared:\",\"multipleInteractionsAnnouncement\":\"Multiple interactions appeared.\",\"videoPausedAnnouncement\":\"Video is paused\",\"content\":\"Content\",\"answered\":\"@answered answered\",\"endcardTitle\":\"@answered Question(s) answered\",\"endcardInformation\":\"You have answered @answered questions, click below to submit your answers.\",\"endcardInformationNoAnswers\":\"You have not answered any questions.\",\"endcardInformationMustHaveAnswer\":\"You have to answer at least one question before you can submit your answers.\",\"endcardSubmitButton\":\"Submit Answers\",\"endcardSubmitMessage\":\"Your answers have been submitted!\",\"endcardTableRowAnswered\":\"Answered questions\",\"endcardTableRowScore\":\"Score\",\"endcardAnsweredScore\":\"answered\",\"endCardTableRowSummaryWithScore\":\"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\"endCardTableRowSummaryWithoutScore\":\"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\"}}",
"slug": "understanding-gear-effect-equipment-and-tech-18birdies",
"embed_type": "div",
"disable": 9,
"content_type": null,
"authors": null,
"source": null,
"year_from": null,
"year_to": null,
"license": "U",
"license_version": null,
"license_extras": null,
"author_comments": null,
"changes": null,
"default_language": null
},
"is_public": false,
"created_at": null,
"updated_at": null
},
{
"id": 5,
"playlist_id": 1,
"title": "The Evolution of the Golf Ball",
"type": "h5p",
"content": "",
"shared": false,
"order": 5,
"thumb_url": null,
"subject_id": null,
"education_level_id": null,
"h5p_content": {
"id": 66,
"created_at": "2020-04-30T23:58:44.000000Z",
"updated_at": "2020-04-30T23:58:44.000000Z",
"user_id": 1,
"title": "The Evolution of the Golf Ball",
"library_id": 61,
"parameters": "{\"timeline\":{\"defaultZoomLevel\":\"0\",\"height\":600,\"asset\":{},\"date\":[{\"asset\":{\"thumbnail\":{\"path\":\"images/thumbnail-5eab648fb61c9.jpeg#tmp\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":234,\"height\":216}},\"startDate\":\"1400\",\"endDate\":\"2020\",\"headline\":\"Origins of Golf\",\"text\":\"<p>Golf is recorded in its first recognizable form in the Eastern Coast of Scotland.</p>\\n\"},{\"asset\":{\"thumbnail\":{\"path\":\"images/thumbnail-5eab64e26de00.jpg#tmp\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":475,\"height\":222}},\"startDate\":\"1600\",\"headline\":\"Wood Golf Balls\",\"text\":\"<p>The first known golf ball was made out of wood, most likely beech, boxroot and similar hardwoods. Wooden clubs were the golf club of choice, which in conjunction with the wood balls would have made your friendly game of golf a rather jarring experience.</p>\\n\"},{\"asset\":{\"thumbnail\":{\"path\":\"images/thumbnail-5eab652f19393.png#tmp\",\"mime\":\"image/png\",\"copyright\":{\"license\":\"U\"},\"width\":1128,\"height\":1096}},\"startDate\":\"1618\",\"headline\":\"Feathery Golf Balls\",\"text\":\"<p>The first \\\"real\\\" golf ball was known as a \\\"feathery\\\"golf ball. Basically, the feathery was a leather sack filled with boiled goose feathers, then stitched up and painted. Feathery golf balls were expensive to make easily damaged and only the privileged few could afford to use them. </p>\\n\\n<p>It was made of cow or horsehide which was stuffed with feathers; most often goose feather. The leather, in order to be easier to work with, was soaked in water. The feathers that were forced into the ball by using a specially designed crutch-handled filling rod were soaked as well. </p>\\n\\n<p>After the ball was carefully hand sewn together, it was left to dry. While the leather shrank, the feathers expanded, which made the ball very hard and compact. </p>\\n\\n<p>Interestingly, the featherie also had excellent flight characteristics as it could reach a distance of up to 175 yards; although the longest recorded distance is more than 361 yards.<br>\\n </p>\\n\"},{\"asset\":{\"thumbnail\":{\"path\":\"images/thumbnail-5eab658fa6bde.jpg#tmp\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":1350,\"height\":759},\"media\":\"https://images.app.goo.gl/MFHFL1dtDiyR5nGq7\"},\"startDate\":\"1848\",\"headline\":\"Cost of Golf Balls\",\"text\":\"<p>In the mid-19th century, most people could only dream of playing golf. There were at the time fewer than 20 golf clubs around the world, with just three being outside Scotland. But that was not the only thing that prevented most people from playing golf. The high cost of golf essentials, especially of golf balls, made the game pretty much inaccessible to ordinary people.31 But that was soon about to change...<br>\\n </p>\\n\"},{\"asset\":{\"thumbnail\":{\"path\":\"images/thumbnail-5eab65cbe1adb.png#tmp\",\"mime\":\"image/png\",\"copyright\":{\"license\":\"U\"},\"width\":944,\"height\":890}},\"startDate\":\"1848\",\"endDate\":\"1890\",\"headline\":\"Gutty Golf Balls\",\"text\":\"<p>It wasn't until 1848 that Rev. Dr. Robert Adams began creating golf balls out of Gutta Percha \\\"Gutty\\\". The Gutty golf ball was created from the dried sap of the Sapodilla tree. It had a rubber-like feel and was formed into ball shapes by heating it up and shaping it while hot. </p>\\n\\n<p>The arrival of the gutta percha ball or \\\"gutty\\\", as it was called, revolutionized the game of golf and allowed its spread to the masses due to its affordability, playability and durability.</p>\\n\"},{\"asset\":{},\"startDate\":\"1899\",\"headline\":\"Hand Hammered Gutta Ball\",\"text\":\"<p>American businessman and inventor Coburn Haskell (1868-1922) got a (joint) patent from the United States Patent Office for the rubber-wound ball47 which would soon lead to another revolution in golf. Widely regarded as the first modern golf ball, Haskell\\u2019s ball was made of a solid rubber-wound core that was covered by guttapercha.</p>\\n\"}],\"language\":\"en\",\"headline\":\"The Evolution of the Golf Ball\",\"text\":\"<div>A golf ball is central to the game of golf. In fact, golf is all about the ball. Well, getting it into the hole in the ground!</div>\\n\",\"backgroundImage\":{\"path\":\"images/backgroundImage-5eab633e2e935.jpg#tmp\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":2139,\"height\":1179}}}",
"filtered": "{\"timeline\":{\"defaultZoomLevel\":\"0\",\"height\":600,\"asset\":{},\"date\":[{\"asset\":{\"thumbnail\":{\"path\":\"images/thumbnail-5eab648fb61c9.jpeg\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":234,\"height\":216}},\"startDate\":\"1400\",\"endDate\":\"2020\",\"headline\":\"Origins of Golf\",\"text\":\"<p>Golf is recorded in its first recognizable form in the Eastern Coast of Scotland.</p>\\n\"},{\"asset\":{\"thumbnail\":{\"path\":\"images/thumbnail-5eab64e26de00.jpg\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":475,\"height\":222}},\"startDate\":\"1600\",\"headline\":\"Wood Golf Balls\",\"text\":\"<p>The first known golf ball was made out of wood, most likely beech, boxroot and similar hardwoods. Wooden clubs were the golf club of choice, which in conjunction with the wood balls would have made your friendly game of golf a rather jarring experience.</p>\\n\"},{\"asset\":{\"thumbnail\":{\"path\":\"images/thumbnail-5eab652f19393.png\",\"mime\":\"image/png\",\"copyright\":{\"license\":\"U\"},\"width\":1128,\"height\":1096}},\"startDate\":\"1618\",\"headline\":\"Feathery Golf Balls\",\"text\":\"<p>The first \\\"real\\\" golf ball was known as a \\\"feathery\\\"golf ball. Basically, the feathery was a leather sack filled with boiled goose feathers, then stitched up and painted. Feathery golf balls were expensive to make easily damaged and only the privileged few could afford to use them. </p>\\n\\n<p>It was made of cow or horsehide which was stuffed with feathers; most often goose feather. The leather, in order to be easier to work with, was soaked in water. The feathers that were forced into the ball by using a specially designed crutch-handled filling rod were soaked as well. </p>\\n\\n<p>After the ball was carefully hand sewn together, it was left to dry. While the leather shrank, the feathers expanded, which made the ball very hard and compact. </p>\\n\\n<p>Interestingly, the featherie also had excellent flight characteristics as it could reach a distance of up to 175 yards; although the longest recorded distance is more than 361 yards.<br>\\n </p>\\n\"},{\"asset\":{\"thumbnail\":{\"path\":\"images/thumbnail-5eab658fa6bde.jpg\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":1350,\"height\":759},\"media\":\"https://images.app.goo.gl/MFHFL1dtDiyR5nGq7\"},\"startDate\":\"1848\",\"headline\":\"Cost of Golf Balls\",\"text\":\"<p>In the mid-19th century, most people could only dream of playing golf. There were at the time fewer than 20 golf clubs around the world, with just three being outside Scotland. But that was not the only thing that prevented most people from playing golf. The high cost of golf essentials, especially of golf balls, made the game pretty much inaccessible to ordinary people.31 But that was soon about to change...<br>\\n </p>\\n\"},{\"asset\":{\"thumbnail\":{\"path\":\"images/thumbnail-5eab65cbe1adb.png\",\"mime\":\"image/png\",\"copyright\":{\"license\":\"U\"},\"width\":944,\"height\":890}},\"startDate\":\"1848\",\"endDate\":\"1890\",\"headline\":\"Gutty Golf Balls\",\"text\":\"<p>It wasn't until 1848 that Rev. Dr. Robert Adams began creating golf balls out of Gutta Percha \\\"Gutty\\\". The Gutty golf ball was created from the dried sap of the Sapodilla tree. It had a rubber-like feel and was formed into ball shapes by heating it up and shaping it while hot. </p>\\n\\n<p>The arrival of the gutta percha ball or \\\"gutty\\\", as it was called, revolutionized the game of golf and allowed its spread to the masses due to its affordability, playability and durability.</p>\\n\"},{\"asset\":{},\"startDate\":\"1899\",\"headline\":\"Hand Hammered Gutta Ball\",\"text\":\"<p>American businessman and inventor Coburn Haskell (1868-1922) got a (joint) patent from the United States Patent Office for the rubber-wound ball47 which would soon lead to another revolution in golf. Widely regarded as the first modern golf ball, Haskell\\u2019s ball was made of a solid rubber-wound core that was covered by guttapercha.</p>\\n\"}],\"language\":\"en\",\"headline\":\"The Evolution of the Golf Ball\",\"text\":\"<div>A golf ball is central to the game of golf. In fact, golf is all about the ball. Well, getting it into the hole in the ground!</div>\\n\",\"backgroundImage\":{\"path\":\"images/backgroundImage-5eab633e2e935.jpg\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":2139,\"height\":1179}}}",
"slug": "the-evolution-of-the-golf-ball",
"embed_type": "div",
"disable": 9,
"content_type": null,
"authors": null,
"source": null,
"year_from": null,
"year_to": null,
"license": "U",
"license_version": null,
"license_extras": null,
"author_comments": null,
"changes": null,
"default_language": null
},
"is_public": false,
"created_at": null,
"updated_at": null
},
{
"id": 7,
"playlist_id": 1,
"title": "Famous Golf Holes",
"type": "h5p",
"content": "",
"shared": false,
"order": 6,
"thumb_url": null,
"subject_id": null,
"education_level_id": null,
"h5p_content": {
"id": 76,
"created_at": "2020-05-01T05:20:54.000000Z",
"updated_at": "2020-05-01T05:20:54.000000Z",
"user_id": 1,
"title": "Famous Golf Holes",
"library_id": 60,
"parameters": "{\"cards\":[{\"answer\":\"7th Hole at Pebble Beach\",\"image\":{\"path\":\"images/image-5eabad2e71b62.jpg#tmp\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":991,\"height\":500},\"tip\":\"<p>Mickey Mantle<br>\\nAT&T Pro Am</p>\\n\"},{\"answer\":\"12th hole at Augusta National\",\"image\":{\"path\":\"images/image-5eabae675c197.jpg#tmp\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":847,\"height\":467},\"tip\":\"\"},{\"answer\":\"7th hole at TPC Sawgrass\",\"image\":{\"path\":\"images/image-5eabaec199254.jpg#tmp\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":1024,\"height\":570},\"tip\":\"\"},{\"answer\":\"The Old Course at St Andrews, #18\",\"image\":{\"path\":\"images/image-5eabafb2400f7.jpg#tmp\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":475,\"height\":367},\"tip\":\"\"},{\"answer\":\"Pine Valley Golf Club, #18\",\"image\":{\"path\":\"images/image-5eabb0ced23c3.jpg#tmp\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":960,\"height\":640},\"tip\":\"\"},{\"answer\":\"Celebrity Course - Indian Wells Golf Resort, #14\",\"image\":{\"path\":\"images/image-5eabb17c9a715.jpg#tmp\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":780,\"height\":490},\"tip\":\"\"}],\"progressText\":\"Card @card of @total\",\"next\":\"Next\",\"previous\":\"Previous\",\"checkAnswerText\":\"Check\",\"showSolutionsRequiresInput\":true,\"defaultAnswerText\":\"Your answer\",\"correctAnswerText\":\"Correct\",\"incorrectAnswerText\":\"Incorrect\",\"showSolutionText\":\"Correct answer\",\"results\":\"Results\",\"ofCorrect\":\"@score of @total correct\",\"showResults\":\"Show results\",\"answerShortText\":\"A:\",\"retry\":\"Retry\",\"caseSensitive\":false,\"cardAnnouncement\":\"Incorrect answer. Correct answer was @answer\",\"pageAnnouncement\":\"Page @current of @total\",\"description\":\"Match the Hole with the Course\"}",
"filtered": "{\"cards\":[{\"answer\":\"7th Hole at Pebble Beach\",\"image\":{\"path\":\"images/image-5eabad2e71b62.jpg\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":991,\"height\":500},\"tip\":\"<p>Mickey Mantle<br>\\nAT&T Pro Am</p>\\n\"},{\"answer\":\"12th hole at Augusta National\",\"image\":{\"path\":\"images/image-5eabae675c197.jpg\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":847,\"height\":467},\"tip\":\"\"},{\"answer\":\"7th hole at TPC Sawgrass\",\"image\":{\"path\":\"images/image-5eabaec199254.jpg\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":1024,\"height\":570},\"tip\":\"\"},{\"answer\":\"The Old Course at St Andrews, #18\",\"image\":{\"path\":\"images/image-5eabafb2400f7.jpg\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":475,\"height\":367},\"tip\":\"\"},{\"answer\":\"Pine Valley Golf Club, #18\",\"image\":{\"path\":\"images/image-5eabb0ced23c3.jpg\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":960,\"height\":640},\"tip\":\"\"},{\"answer\":\"Celebrity Course - Indian Wells Golf Resort, #14\",\"image\":{\"path\":\"images/image-5eabb17c9a715.jpg\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":780,\"height\":490},\"tip\":\"\"}],\"progressText\":\"Card @card of @total\",\"next\":\"Next\",\"previous\":\"Previous\",\"checkAnswerText\":\"Check\",\"showSolutionsRequiresInput\":true,\"defaultAnswerText\":\"Your answer\",\"correctAnswerText\":\"Correct\",\"incorrectAnswerText\":\"Incorrect\",\"showSolutionText\":\"Correct answer\",\"results\":\"Results\",\"ofCorrect\":\"@score of @total correct\",\"showResults\":\"Show results\",\"answerShortText\":\"A:\",\"retry\":\"Retry\",\"caseSensitive\":false,\"cardAnnouncement\":\"Incorrect answer. Correct answer was @answer\",\"pageAnnouncement\":\"Page @current of @total\",\"description\":\"Match the Hole with the Course\"}",
"slug": "famous-golf-holes",
"embed_type": "div",
"disable": 9,
"content_type": null,
"authors": null,
"source": null,
"year_from": null,
"year_to": null,
"license": "U",
"license_version": null,
"license_extras": null,
"author_comments": null,
"changes": null,
"default_language": null
},
"is_public": false,
"created_at": null,
"updated_at": null
}
],
"created_at": null,
"updated_at": null
}
}
Received response:
Request failed with error:
Get Activities
Get a list of activities
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/playlists/186/activities" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/playlists/186/activities"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/playlists/186/activities',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"activities": [
{
"id": 1,
"playlist_id": 1,
"title": "Science of Golf: Why Balls Have Dimples",
"type": "h5p",
"content": "",
"shared": false,
"order": 2,
"thumb_url": null,
"subjects": [
{
"id": 4,
"name": "English",
"order": 3,
"created_at": "2022-01-06T11:59:52.000000Z",
"updated_at": "2022-01-06T12:15:10.000000Z"
},
{
"id": 1,
"name": "Math",
"order": 1,
"created_at": "2022-01-06T11:41:46.000000Z",
"updated_at": "2022-01-06T11:41:46.000000Z"
}
],
"education_levels": [
{
"id": 1,
"name": "Grade A",
"order": 5,
"created_at": "2022-01-07T13:51:38.000000Z",
"updated_at": "2022-01-07T14:07:17.000000Z"
},
{
"id": 1,
"name": "Grade B",
"order": 6,
"created_at": "2022-01-07T13:51:38.000000Z",
"updated_at": "2022-01-07T14:07:17.000000Z"
}
],
"author_tags": [
{
"id": 1,
"name": "Audio",
"order": 1,
"created_at": "2022-01-10T13:09:36.000000Z",
"updated_at": "2022-01-10T13:09:36.000000Z"
},
{
"id": 2,
"name": "Video",
"order": 2,
"created_at": "2022-01-10T13:09:44.000000Z",
"updated_at": "2022-01-10T13:20:57.000000Z"
}
],
"gcr_activity_visibility": true,
"h5p_content": {
"id": 59,
"user_id": 1,
"title": "Science of Golf: Why Balls Have Dimples",
"library_id": 40,
"parameters": "{\"interactiveVideo\":{\"video\":{\"startScreenOptions\":{\"title\":\"Interactive Video\",\"hideStartTitle\":false},\"textTracks\":{\"videoTrack\":[{\"label\":\"Subtitles\",\"kind\":\"subtitles\",\"srcLang\":\"en\"}]},\"files\":[{\"path\":\"https://youtu.be/fcjaxC-e8oY\",\"mime\":\"video/YouTube\",\"copyright\":{\"license\":\"U\"},\"aspectRatio\":\"16:9\"}]},\"assets\":{\"interactions\":[{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":58.33,\"to\":68.33},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"133bca3d-cfe9-442d-a887-8bf1e2ce682a\",\"question\":\"<p>Why do golf balls have dimples?</p>\\n\",\"answers\":[\"<p>They reduce wind resistance.</p>\\n\",\"<p>They make the ball more visually interesting.</p>\\n\",\"<p>They grip the putting green better than a smooth ball.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"ac029b43-7225-49ed-a2d7-8656037748e0\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Why do golf balls have dimples?\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Why do golf balls have dimples?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Why do golf balls have dimples?</p>\\n\"},{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":132.969,\"to\":142.969},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"308503f3-8d41-4f4f-b016-587bcce3dfac\",\"question\":\"<p>A smooth ball will have a detached airflow, which causes what?</p>\\n\",\"answers\":[\"<p>A low pressure zone, which is what causes drag.</p>\\n\",\"<p>The ball has no spin.</p>\\n\",\"<p>The ball travels higher, but for a shorter distance.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"f70c849d-9542-4f30-9116-8b60b7da708d\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Smooth Ball?\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Smooth Ball?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Smooth Ball</p>\\n\"}],\"bookmarks\":[],\"endscreens\":[{\"time\":295,\"label\":\"4:55 Submit screen\"}]},\"summary\":{\"task\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"8e2cf84f-4557-4f79-a03e-526838498a7d\",\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"8d5527ef-3601-4ad9-9e63-2782c9775173\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Untitled Summary\"}},\"displayAt\":3}},\"override\":{\"autoplay\":false,\"loop\":false,\"showBookmarksmenuOnLoad\":false,\"showRewind10\":false,\"preventSkipping\":false,\"deactivateSound\":false},\"l10n\":{\"interaction\":\"Interaction\",\"play\":\"Play\",\"pause\":\"Pause\",\"mute\":\"Mute\",\"unmute\":\"Unmute\",\"quality\":\"Video Quality\",\"captions\":\"Captions\",\"close\":\"Close\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit Fullscreen\",\"summary\":\"Open summary dialog\",\"bookmarks\":\"Bookmarks\",\"endscreen\":\"Submit screen\",\"defaultAdaptivitySeekLabel\":\"Continue\",\"continueWithVideo\":\"Continue with video\",\"playbackRate\":\"Playback Rate\",\"rewind10\":\"Rewind 10 Seconds\",\"navDisabled\":\"Navigation is disabled\",\"sndDisabled\":\"Sound is disabled\",\"requiresCompletionWarning\":\"You need to answer all the questions correctly before continuing.\",\"back\":\"Back\",\"hours\":\"Hours\",\"minutes\":\"Minutes\",\"seconds\":\"Seconds\",\"currentTime\":\"Current time:\",\"totalTime\":\"Total time:\",\"singleInteractionAnnouncement\":\"Interaction appeared:\",\"multipleInteractionsAnnouncement\":\"Multiple interactions appeared.\",\"videoPausedAnnouncement\":\"Video is paused\",\"content\":\"Content\",\"answered\":\"@answered answered\",\"endcardTitle\":\"@answered Question(s) answered\",\"endcardInformation\":\"You have answered @answered questions, click below to submit your answers.\",\"endcardInformationNoAnswers\":\"You have not answered any questions.\",\"endcardInformationMustHaveAnswer\":\"You have to answer at least one question before you can submit your answers.\",\"endcardSubmitButton\":\"Submit Answers\",\"endcardSubmitMessage\":\"Your answers have been submitted!\",\"endcardTableRowAnswered\":\"Answered questions\",\"endcardTableRowScore\":\"Score\",\"endcardAnsweredScore\":\"answered\",\"endCardTableRowSummaryWithScore\":\"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\"endCardTableRowSummaryWithoutScore\":\"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\"}}",
"filtered": "{\"interactiveVideo\":{\"video\":{\"startScreenOptions\":{\"title\":\"Interactive Video\",\"hideStartTitle\":false},\"textTracks\":{\"videoTrack\":[{\"label\":\"Subtitles\",\"kind\":\"subtitles\",\"srcLang\":\"en\"}]},\"files\":[{\"path\":\"https://youtu.be/fcjaxC-e8oY\",\"mime\":\"video/YouTube\",\"copyright\":{\"license\":\"U\"}}]},\"assets\":{\"interactions\":[{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":58.33,\"to\":68.33},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"133bca3d-cfe9-442d-a887-8bf1e2ce682a\",\"question\":\"<p>Why do golf balls have dimples?</p>\\n\",\"answers\":[\"<p>They reduce wind resistance.</p>\\n\",\"<p>They make the ball more visually interesting.</p>\\n\",\"<p>They grip the putting green better than a smooth ball.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"ac029b43-7225-49ed-a2d7-8656037748e0\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Why do golf balls have dimples?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Why do golf balls have dimples?</p>\\n\"},{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":132.969,\"to\":142.969},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"308503f3-8d41-4f4f-b016-587bcce3dfac\",\"question\":\"<p>A smooth ball will have a detached airflow, which causes what?</p>\\n\",\"answers\":[\"<p>A low pressure zone, which is what causes drag.</p>\\n\",\"<p>The ball has no spin.</p>\\n\",\"<p>The ball travels higher, but for a shorter distance.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"f70c849d-9542-4f30-9116-8b60b7da708d\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Smooth Ball?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Smooth Ball</p>\\n\"}],\"endscreens\":[{\"time\":295,\"label\":\"4:55 Submit screen\"}]},\"summary\":{\"task\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"8e2cf84f-4557-4f79-a03e-526838498a7d\",\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"8d5527ef-3601-4ad9-9e63-2782c9775173\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\"}},\"displayAt\":3}},\"override\":{\"autoplay\":false,\"loop\":false,\"showBookmarksmenuOnLoad\":false,\"showRewind10\":false,\"preventSkipping\":false,\"deactivateSound\":false},\"l10n\":{\"interaction\":\"Interaction\",\"play\":\"Play\",\"pause\":\"Pause\",\"mute\":\"Mute\",\"unmute\":\"Unmute\",\"quality\":\"Video Quality\",\"captions\":\"Captions\",\"close\":\"Close\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit Fullscreen\",\"summary\":\"Open summary dialog\",\"bookmarks\":\"Bookmarks\",\"endscreen\":\"Submit screen\",\"defaultAdaptivitySeekLabel\":\"Continue\",\"continueWithVideo\":\"Continue with video\",\"playbackRate\":\"Playback Rate\",\"rewind10\":\"Rewind 10 Seconds\",\"navDisabled\":\"Navigation is disabled\",\"sndDisabled\":\"Sound is disabled\",\"requiresCompletionWarning\":\"You need to answer all the questions correctly before continuing.\",\"back\":\"Back\",\"hours\":\"Hours\",\"minutes\":\"Minutes\",\"seconds\":\"Seconds\",\"currentTime\":\"Current time:\",\"totalTime\":\"Total time:\",\"singleInteractionAnnouncement\":\"Interaction appeared:\",\"multipleInteractionsAnnouncement\":\"Multiple interactions appeared.\",\"videoPausedAnnouncement\":\"Video is paused\",\"content\":\"Content\",\"answered\":\"@answered answered\",\"endcardTitle\":\"@answered Question(s) answered\",\"endcardInformation\":\"You have answered @answered questions, click below to submit your answers.\",\"endcardInformationNoAnswers\":\"You have not answered any questions.\",\"endcardInformationMustHaveAnswer\":\"You have to answer at least one question before you can submit your answers.\",\"endcardSubmitButton\":\"Submit Answers\",\"endcardSubmitMessage\":\"Your answers have been submitted!\",\"endcardTableRowAnswered\":\"Answered questions\",\"endcardTableRowScore\":\"Score\",\"endcardAnsweredScore\":\"answered\",\"endCardTableRowSummaryWithScore\":\"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\"endCardTableRowSummaryWithoutScore\":\"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\"}}",
"slug": "science-of-golf-why-balls-have-dimples",
"embed_type": "div",
"disable": 9,
"content_type": null,
"authors": null,
"source": null,
"year_from": null,
"year_to": null,
"license": "U",
"license_version": null,
"license_extras": null,
"author_comments": null,
"changes": null,
"default_language": null,
"library": {
"id": 40,
"created_at": null,
"updated_at": null,
"name": "H5P.InteractiveVideo",
"title": "Interactive Video",
"major_version": 1,
"minor_version": 21,
"patch_version": 9,
"runnable": 1,
"restricted": 0,
"fullscreen": 1,
"embed_types": "iframe",
"preloaded_js": "dist/h5p-interactive-video.js",
"preloaded_css": "dist/h5p-interactive-video.css",
"drop_library_css": "",
"semantics": "[\n {\n \"name\": \"interactiveVideo\",\n \"type\": \"group\",\n \"widget\": \"wizard\",\n \"label\": \"Interactive Video Editor\",\n \"importance\": \"high\",\n \"fields\": [\n {\n \"name\": \"video\",\n \"type\": \"group\",\n \"label\": \"Upload/embed video\",\n \"importance\": \"high\",\n \"fields\": [\n {\n \"name\": \"files\",\n \"type\": \"video\",\n \"label\": \"Add a video\",\n \"importance\": \"high\",\n \"description\": \"Click below to add a video you wish to use in your interactive video. You can add a video link or upload video files. It is possible to add several versions of the video with different qualities. To ensure maximum support in browsers at least add a version in webm and mp4 formats.\",\n \"extraAttributes\": [\n \"metadata\"\n ],\n \"enableCustomQualityLabel\": true\n },\n {\n \"name\": \"startScreenOptions\",\n \"type\": \"group\",\n \"label\": \"Start screen options (unsupported for YouTube videos)\",\n \"importance\": \"low\",\n \"fields\": [\n {\n \"name\": \"title\",\n \"type\": \"text\",\n \"label\": \"The title of this interactive video\",\n \"importance\": \"low\",\n \"maxLength\": 60,\n \"default\": \"Interactive Video\",\n \"description\": \"Used in summaries, statistics etc.\"\n },\n {\n \"name\": \"hideStartTitle\",\n \"type\": \"boolean\",\n \"label\": \"Hide title on video start screen\",\n \"importance\": \"low\",\n \"optional\": true,\n \"default\": false\n },\n {\n \"name\": \"shortStartDescription\",\n \"type\": \"text\",\n \"label\": \"Short description (Optional)\",\n \"importance\": \"low\",\n \"optional\": true,\n \"maxLength\": 120,\n \"description\": \"Optional. Display a short description text on the video start screen. Does not work for YouTube videos.\"\n },\n {\n \"name\": \"poster\",\n \"type\": \"image\",\n \"label\": \"Poster image\",\n \"importance\": \"low\",\n \"optional\": true,\n \"description\": \"Image displayed before the user launches the video. Does not work for YouTube Videos.\"\n }\n ]\n },\n {\n \"name\": \"textTracks\",\n \"type\": \"group\",\n \"label\": \"Text tracks (unsupported for YouTube videos)\",\n \"importance\": \"low\",\n \"fields\": [\n {\n \"name\": \"videoTrack\",\n \"type\": \"list\",\n \"label\": \"Available text tracks\",\n \"importance\": \"low\",\n \"optional\": true,\n \"entity\": \"Track\",\n \"min\": 0,\n \"defaultNum\": 1,\n \"field\": {\n \"name\": \"track\",\n \"type\": \"group\",\n \"label\": \"Track\",\n \"importance\": \"low\",\n \"expanded\": false,\n \"fields\": [\n {\n \"name\": \"label\",\n \"type\": \"text\",\n \"label\": \"Track label\",\n \"description\": \"Used if you offer multiple tracks and the user has to choose a track. For instance 'Spanish subtitles' could be the label of a Spanish subtitle track.\",\n \"importance\": \"low\",\n \"default\": \"Subtitles\",\n \"optional\": true\n },\n {\n \"name\": \"kind\",\n \"type\": \"select\",\n \"label\": \"Type of text track\",\n \"importance\": \"low\",\n \"default\": \"subtitles\",\n \"options\": [\n {\n \"value\": \"subtitles\",\n \"label\": \"Subtitles\"\n },\n {\n \"value\": \"captions\",\n \"label\": \"Captions\"\n },\n {\n \"value\": \"descriptions\",\n \"label\": \"Descriptions\"\n }\n ]\n },\n {\n \"name\": \"srcLang\",\n \"type\": \"text\",\n \"label\": \"Source language, must be defined for subtitles\",\n \"importance\": \"low\",\n \"default\": \"en\",\n \"description\": \"Must be a valid BCP 47 language tag. If 'Subtitles' is the type of text track selected, the source language of the track must be defined.\"\n },\n {\n \"name\": \"track\",\n \"type\": \"file\",\n \"label\": \"Track source (WebVTT file)\",\n \"importance\": \"low\"\n }\n ]\n }\n },\n {\n \"name\": \"defaultTrackLabel\",\n \"type\": \"text\",\n \"label\": \"Default text track\",\n \"description\": \"If left empty or not matching any of the text tracks the first text track will be used as the default.\",\n \"importance\": \"low\",\n \"optional\": true\n }\n ]\n }\n ]\n },\n {\n \"name\": \"assets\",\n \"type\": \"group\",\n \"label\": \"Add interactions\",\n \"importance\": \"high\",\n \"widget\": \"interactiveVideo\",\n \"video\": \"video/files\",\n \"poster\": \"video/startScreenOptions/poster\",\n \"fields\": [\n {\n \"name\": \"interactions\",\n \"type\": \"list\",\n \"field\": {\n \"name\": \"interaction\",\n \"type\": \"group\",\n \"fields\": [\n {\n \"name\": \"duration\",\n \"type\": \"group\",\n \"widget\": \"duration\",\n \"label\": \"Display time\",\n \"importance\": \"low\",\n \"fields\": [\n {\n \"name\": \"from\",\n \"type\": \"number\"\n },\n {\n \"name\": \"to\",\n \"type\": \"number\"\n }\n ]\n },\n {\n \"name\": \"pause\",\n \"label\": \"Pause video\",\n \"importance\": \"low\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"displayType\",\n \"label\": \"Display as\",\n \"importance\": \"low\",\n \"description\": \"<b>Button</b> is a collapsed interaction the user must press to open. <b>Poster</b> is an expanded interaction displayed directly on top of the video\",\n \"type\": \"select\",\n \"widget\": \"imageRadioButtonGroup\",\n \"options\": [\n {\n \"value\": \"button\",\n \"label\": \"Button\"\n },\n {\n \"value\": \"poster\",\n \"label\": \"Poster\"\n }\n ],\n \"default\": \"button\"\n },\n {\n \"name\": \"buttonOnMobile\",\n \"label\": \"Turn into button on small screens\",\n \"importance\": \"low\",\n \"type\": \"boolean\",\n \"default\": false\n },\n {\n \"name\": \"label\",\n \"type\": \"text\",\n \"widget\": \"html\",\n \"label\": \"Label\",\n \"importance\": \"low\",\n \"description\": \"Label displayed next to interaction icon.\",\n \"optional\": true,\n \"enterMode\": \"p\",\n \"tags\": [\n \"p\"\n ]\n },\n {\n \"name\": \"x\",\n \"type\": \"number\",\n \"importance\": \"low\",\n \"widget\": \"none\"\n },\n {\n \"name\": \"y\",\n \"type\": \"number\",\n \"importance\": \"low\",\n \"widget\": \"none\"\n },\n {\n \"name\": \"width\",\n \"type\": \"number\",\n \"widget\": \"none\",\n \"importance\": \"low\",\n \"optional\": true\n },\n {\n \"name\": \"height\",\n \"type\": \"number\",\n \"widget\": \"none\",\n \"importance\": \"low\",\n \"optional\": true\n },\n {\n \"name\": \"libraryTitle\",\n \"type\": \"text\",\n \"importance\": \"low\",\n \"optional\": true,\n \"widget\": \"none\"\n },\n {\n \"name\": \"action\",\n \"type\": \"library\",\n \"importance\": \"low\",\n \"options\": [\n \"H5P.Nil 1.0\",\n \"H5P.Text 1.1\",\n \"H5P.Table 1.1\",\n \"H5P.Link 1.3\",\n \"H5P.Image 1.1\",\n \"H5P.Summary 1.10\",\n \"H5P.SingleChoiceSet 1.11\",\n \"H5P.MultiChoice 1.14\",\n \"H5P.TrueFalse 1.6\",\n \"H5P.Blanks 1.12\",\n \"H5P.DragQuestion 1.13\",\n \"H5P.MarkTheWords 1.9\",\n \"H5P.DragText 1.8\",\n \"H5P.GoToQuestion 1.3\",\n \"H5P.IVHotspot 1.2\",\n \"H5P.Questionnaire 1.2\",\n \"H5P.FreeTextQuestion 1.0\"\n ]\n },\n {\n \"name\": \"adaptivity\",\n \"type\": \"group\",\n \"label\": \"Adaptivity\",\n \"importance\": \"low\",\n \"optional\": true,\n \"fields\": [\n {\n \"name\": \"correct\",\n \"type\": \"group\",\n \"label\": \"Action on all correct\",\n \"fields\": [\n {\n \"name\": \"seekTo\",\n \"type\": \"number\",\n \"widget\": \"timecode\",\n \"label\": \"Seek to\",\n \"description\": \"Enter timecode in the format M:SS\"\n },\n {\n \"name\": \"allowOptOut\",\n \"type\": \"boolean\",\n \"label\": \"Allow the user to opt out and continue\"\n },\n {\n \"name\": \"message\",\n \"type\": \"text\",\n \"widget\": \"html\",\n \"enterMode\": \"p\",\n \"tags\": [\n \"strong\",\n \"em\",\n \"del\",\n \"a\",\n \"code\"\n ],\n \"label\": \"Message\"\n },\n {\n \"name\": \"seekLabel\",\n \"type\": \"text\",\n \"label\": \"Label for seek button\"\n }\n ]\n },\n {\n \"name\": \"wrong\",\n \"type\": \"group\",\n \"label\": \"Action on wrong\",\n \"fields\": [\n {\n \"name\": \"seekTo\",\n \"type\": \"number\",\n \"widget\": \"timecode\",\n \"label\": \"Seek to\",\n \"description\": \"Enter timecode in the format M:SS\"\n },\n {\n \"name\": \"allowOptOut\",\n \"type\": \"boolean\",\n \"label\": \"Allow the user to opt out and continue\"\n },\n {\n \"name\": \"message\",\n \"type\": \"text\",\n \"widget\": \"html\",\n \"enterMode\": \"p\",\n \"tags\": [\n \"strong\",\n \"em\",\n \"del\",\n \"a\",\n \"code\"\n ],\n \"label\": \"Message\"\n },\n {\n \"name\": \"seekLabel\",\n \"type\": \"text\",\n \"label\": \"Label for seek button\"\n }\n ]\n },\n {\n \"name\": \"requireCompletion\",\n \"type\": \"boolean\",\n \"label\": \"Require full score for task before proceeding\",\n \"description\": \"For best functionality this option should be used in conjunction with the \\\"Prevent skipping forward in a video\\\" option of Interactive Video.\"\n }\n ]\n },\n {\n \"name\": \"visuals\",\n \"label\": \"Visuals\",\n \"importance\": \"low\",\n \"type\": \"group\",\n \"fields\": [\n {\n \"name\": \"backgroundColor\",\n \"type\": \"text\",\n \"label\": \"Background color\",\n \"widget\": \"colorSelector\",\n \"default\": \"rgb(255, 255, 255)\",\n \"spectrum\": {\n \"showInput\": true,\n \"showAlpha\": true,\n \"preferredFormat\": \"rgb\",\n \"showPalette\": true,\n \"palette\": [\n [\n \"rgba(0, 0, 0, 0)\"\n ],\n [\n \"rgb(67, 67, 67)\",\n \"rgb(102, 102, 102)\",\n \"rgb(204, 204, 204)\",\n \"rgb(217, 217, 217)\",\n \"rgb(255, 255, 255)\"\n ],\n [\n \"rgb(152, 0, 0)\",\n \"rgb(255, 0, 0)\",\n \"rgb(255, 153, 0)\",\n \"rgb(255, 255, 0)\",\n \"rgb(0, 255, 0)\",\n \"rgb(0, 255, 255)\",\n \"rgb(74, 134, 232)\",\n \"rgb(0, 0, 255)\",\n \"rgb(153, 0, 255)\",\n \"rgb(255, 0, 255)\"\n ],\n [\n \"rgb(230, 184, 175)\",\n \"rgb(244, 204, 204)\",\n \"rgb(252, 229, 205)\",\n \"rgb(255, 242, 204)\",\n \"rgb(217, 234, 211)\",\n \"rgb(208, 224, 227)\",\n \"rgb(201, 218, 248)\",\n \"rgb(207, 226, 243)\",\n \"rgb(217, 210, 233)\",\n \"rgb(234, 209, 220)\",\n \"rgb(221, 126, 107)\",\n \"rgb(234, 153, 153)\",\n \"rgb(249, 203, 156)\",\n \"rgb(255, 229, 153)\",\n \"rgb(182, 215, 168)\",\n \"rgb(162, 196, 201)\",\n \"rgb(164, 194, 244)\",\n \"rgb(159, 197, 232)\",\n \"rgb(180, 167, 214)\",\n \"rgb(213, 166, 189)\",\n \"rgb(204, 65, 37)\",\n \"rgb(224, 102, 102)\",\n \"rgb(246, 178, 107)\",\n \"rgb(255, 217, 102)\",\n \"rgb(147, 196, 125)\",\n \"rgb(118, 165, 175)\",\n \"rgb(109, 158, 235)\",\n \"rgb(111, 168, 220)\",\n \"rgb(142, 124, 195)\",\n \"rgb(194, 123, 160)\",\n \"rgb(166, 28, 0)\",\n \"rgb(204, 0, 0)\",\n \"rgb(230, 145, 56)\",\n \"rgb(241, 194, 50)\",\n \"rgb(106, 168, 79)\",\n \"rgb(69, 129, 142)\",\n \"rgb(60, 120, 216)\",\n \"rgb(61, 133, 198)\",\n \"rgb(103, 78, 167)\",\n \"rgb(166, 77, 121)\",\n \"rgb(91, 15, 0)\",\n \"rgb(102, 0, 0)\",\n \"rgb(120, 63, 4)\",\n \"rgb(127, 96, 0)\",\n \"rgb(39, 78, 19)\",\n \"rgb(12, 52, 61)\",\n \"rgb(28, 69, 135)\",\n \"rgb(7, 55, 99)\",\n \"rgb(32, 18, 77)\",\n \"rgb(76, 17, 48)\"\n ]\n ]\n }\n },\n {\n \"name\": \"boxShadow\",\n \"type\": \"boolean\",\n \"label\": \"Box shadow\",\n \"default\": true,\n \"description\": \"Adds a subtle shadow around the interaction. You might want to disable this for completely transparent interactions\"\n }\n ]\n },\n {\n \"name\": \"goto\",\n \"label\": \"Go to on click\",\n \"importance\": \"low\",\n \"type\": \"group\",\n \"fields\": [\n {\n \"name\": \"type\",\n \"label\": \"Type\",\n \"type\": \"select\",\n \"widget\": \"selectToggleFields\",\n \"options\": [\n {\n \"value\": \"timecode\",\n \"label\": \"Timecode\",\n \"hideFields\": [\n \"url\"\n ]\n },\n {\n \"value\": \"url\",\n \"label\": \"Another page (URL)\",\n \"hideFields\": [\n \"time\"\n ]\n }\n ],\n \"optional\": true\n },\n {\n \"name\": \"time\",\n \"type\": \"number\",\n \"widget\": \"timecode\",\n \"label\": \"Go To\",\n \"description\": \"The target time the user will be taken to upon pressing the hotspot. Enter timecode in the format M:SS.\",\n \"optional\": true\n },\n {\n \"name\": \"url\",\n \"type\": \"group\",\n \"label\": \"URL\",\n \"widget\": \"linkWidget\",\n \"optional\": true,\n \"fields\": [\n {\n \"name\": \"protocol\",\n \"type\": \"select\",\n \"label\": \"Protocol\",\n \"options\": [\n {\n \"value\": \"http://\",\n \"label\": \"http://\"\n },\n {\n \"value\": \"https://\",\n \"label\": \"https://\"\n },\n {\n \"value\": \"/\",\n \"label\": \"(root relative)\"\n },\n {\n \"value\": \"other\",\n \"label\": \"other\"\n }\n ],\n \"optional\": true,\n \"default\": \"http://\"\n },\n {\n \"name\": \"url\",\n \"type\": \"text\",\n \"label\": \"URL\",\n \"optional\": true\n }\n ]\n },\n {\n \"name\": \"visualize\",\n \"type\": \"boolean\",\n \"label\": \"Visualize\",\n \"description\": \"Show that interaction can be clicked by adding a border and an icon\"\n }\n ]\n }\n ]\n }\n },\n {\n \"name\": \"bookmarks\",\n \"importance\": \"low\",\n \"type\": \"list\",\n \"field\": {\n \"name\": \"bookmark\",\n \"type\": \"group\",\n \"fields\": [\n {\n \"name\": \"time\",\n \"type\": \"number\"\n },\n {\n \"name\": \"label\",\n \"type\": \"text\"\n }\n ]\n }\n },\n {\n \"name\": \"endscreens\",\n \"importance\": \"low\",\n \"type\": \"list\",\n \"field\": {\n \"name\": \"endscreen\",\n \"type\": \"group\",\n \"fields\": [\n {\n \"name\": \"time\",\n \"type\": \"number\"\n },\n {\n \"name\": \"label\",\n \"type\": \"text\"\n }\n ]\n }\n }\n ]\n },\n {\n \"name\": \"summary\",\n \"type\": \"group\",\n \"label\": \"Summary task\",\n \"importance\": \"high\",\n \"fields\": [\n {\n \"name\": \"task\",\n \"type\": \"library\",\n \"options\": [\n \"H5P.Summary 1.10\"\n ],\n \"default\": {\n \"library\": \"H5P.Summary 1.10\",\n \"params\": {}\n }\n },\n {\n \"name\": \"displayAt\",\n \"type\": \"number\",\n \"label\": \"Display at\",\n \"description\": \"Number of seconds before the video ends.\",\n \"default\": 3\n }\n ]\n }\n ]\n },\n {\n \"name\": \"override\",\n \"type\": \"group\",\n \"label\": \"Behavioural settings\",\n \"importance\": \"low\",\n \"optional\": true,\n \"fields\": [\n {\n \"name\": \"startVideoAt\",\n \"type\": \"number\",\n \"widget\": \"timecode\",\n \"label\": \"Start video at\",\n \"importance\": \"low\",\n \"optional\": true,\n \"description\": \"Enter timecode in the format M:SS\"\n },\n {\n \"name\": \"autoplay\",\n \"type\": \"boolean\",\n \"label\": \"Auto-play video\",\n \"default\": false,\n \"optional\": true,\n \"description\": \"Start playing the video automatically\"\n },\n {\n \"name\": \"loop\",\n \"type\": \"boolean\",\n \"label\": \"Loop the video\",\n \"default\": false,\n \"optional\": true,\n \"description\": \"Check if video should run in a loop\"\n },\n {\n \"name\": \"showSolutionButton\",\n \"type\": \"select\",\n \"label\": \"Override \\\"Show Solution\\\" button\",\n \"importance\": \"low\",\n \"description\": \"This option determines if the \\\"Show Solution\\\" button will be shown for all questions, disabled for all or configured for each question individually.\",\n \"optional\": true,\n \"options\": [\n {\n \"value\": \"on\",\n \"label\": \"Enabled\"\n },\n {\n \"value\": \"off\",\n \"label\": \"Disabled\"\n }\n ]\n },\n {\n \"name\": \"retryButton\",\n \"type\": \"select\",\n \"label\": \"Override \\\"Retry\\\" button\",\n \"importance\": \"low\",\n \"description\": \"This option determines if the \\\"Retry\\\" button will be shown for all questions, disabled for all or configured for each question individually.\",\n \"optional\": true,\n \"options\": [\n {\n \"value\": \"on\",\n \"label\": \"Enabled\"\n },\n {\n \"value\": \"off\",\n \"label\": \"Disabled\"\n }\n ]\n },\n {\n \"name\": \"showBookmarksmenuOnLoad\",\n \"type\": \"boolean\",\n \"label\": \"Start with bookmarks menu open\",\n \"importance\": \"low\",\n \"default\": false,\n \"description\": \"This function is not available on iPad when using YouTube as video source.\"\n },\n {\n \"name\": \"showRewind10\",\n \"type\": \"boolean\",\n \"label\": \"Show button for rewinding 10 seconds\",\n \"importance\": \"low\",\n \"default\": false\n },\n {\n \"name\": \"preventSkipping\",\n \"type\": \"boolean\",\n \"default\": false,\n \"label\": \"Prevent skipping forward in a video\",\n \"importance\": \"low\",\n \"description\": \"Enabling this options will disable user video navigation through default controls.\"\n },\n {\n \"name\": \"deactivateSound\",\n \"type\": \"boolean\",\n \"default\": false,\n \"label\": \"Deactivate sound\",\n \"importance\": \"low\",\n \"description\": \"Enabling this option will deactivate the video's sound and prevent it from being switched on.\"\n }\n ]\n },\n {\n \"name\": \"l10n\",\n \"type\": \"group\",\n \"label\": \"Localize\",\n \"importance\": \"low\",\n \"common\": true,\n \"optional\": true,\n \"fields\": [\n {\n \"name\": \"interaction\",\n \"type\": \"text\",\n \"label\": \"Interaction title\",\n \"importance\": \"low\",\n \"default\": \"Interaction\",\n \"optional\": true\n },\n {\n \"name\": \"play\",\n \"type\": \"text\",\n \"label\": \"Play title\",\n \"importance\": \"low\",\n \"default\": \"Play\",\n \"optional\": true\n },\n {\n \"name\": \"pause\",\n \"type\": \"text\",\n \"label\": \"Pause title\",\n \"importance\": \"low\",\n \"default\": \"Pause\",\n \"optional\": true\n },\n {\n \"name\": \"mute\",\n \"type\": \"text\",\n \"label\": \"Mute title\",\n \"importance\": \"low\",\n \"default\": \"Mute\",\n \"optional\": true\n },\n {\n \"name\": \"unmute\",\n \"type\": \"text\",\n \"label\": \"Unmute title\",\n \"importance\": \"low\",\n \"default\": \"Unmute\",\n \"optional\": true\n },\n {\n \"name\": \"quality\",\n \"type\": \"text\",\n \"label\": \"Video quality title\",\n \"importance\": \"low\",\n \"default\": \"Video Quality\",\n \"optional\": true\n },\n {\n \"name\": \"captions\",\n \"type\": \"text\",\n \"label\": \"Video captions title\",\n \"importance\": \"low\",\n \"default\": \"Captions\",\n \"optional\": true\n },\n {\n \"name\": \"close\",\n \"type\": \"text\",\n \"label\": \"Close button text\",\n \"importance\": \"low\",\n \"default\": \"Close\",\n \"optional\": true\n },\n {\n \"name\": \"fullscreen\",\n \"type\": \"text\",\n \"label\": \"Fullscreen title\",\n \"importance\": \"low\",\n \"default\": \"Fullscreen\",\n \"optional\": true\n },\n {\n \"name\": \"exitFullscreen\",\n \"type\": \"text\",\n \"label\": \"Exit fullscreen title\",\n \"importance\": \"low\",\n \"default\": \"Exit Fullscreen\",\n \"optional\": true\n },\n {\n \"name\": \"summary\",\n \"type\": \"text\",\n \"label\": \"Summary title\",\n \"importance\": \"low\",\n \"default\": \"Open summary dialog\",\n \"optional\": true\n },\n {\n \"name\": \"bookmarks\",\n \"type\": \"text\",\n \"label\": \"Bookmarks title\",\n \"importance\": \"low\",\n \"default\": \"Bookmarks\",\n \"optional\": true\n },\n {\n \"name\": \"endscreen\",\n \"type\": \"text\",\n \"label\": \"Submit screen title\",\n \"importance\": \"low\",\n \"default\": \"Submit screen\",\n \"optional\": true\n },\n {\n \"name\": \"defaultAdaptivitySeekLabel\",\n \"type\": \"text\",\n \"label\": \"Default label for adaptivity seek button\",\n \"importance\": \"low\",\n \"default\": \"Continue\",\n \"optional\": true\n },\n {\n \"name\": \"continueWithVideo\",\n \"type\": \"text\",\n \"label\": \"Default label for continue video button\",\n \"importance\": \"low\",\n \"default\": \"Continue with video\",\n \"optional\": true\n },\n {\n \"name\": \"playbackRate\",\n \"type\": \"text\",\n \"label\": \"Set playback rate\",\n \"importance\": \"low\",\n \"default\": \"Playback Rate\",\n \"optional\": true\n },\n {\n \"name\": \"rewind10\",\n \"type\": \"text\",\n \"label\": \"Rewind 10 Seconds\",\n \"importance\": \"low\",\n \"default\": \"Rewind 10 Seconds\",\n \"optional\": true\n },\n {\n \"name\": \"navDisabled\",\n \"type\": \"text\",\n \"label\": \"Navigation is disabled text\",\n \"importance\": \"low\",\n \"default\": \"Navigation is disabled\",\n \"optional\": true\n },\n {\n \"name\": \"sndDisabled\",\n \"type\": \"text\",\n \"label\": \"Sound is disabled text\",\n \"importance\": \"low\",\n \"default\": \"Sound is disabled\",\n \"optional\": true\n },\n {\n \"name\": \"requiresCompletionWarning\",\n \"type\": \"text\",\n \"label\": \"Warning that the user must answer the question correctly before continuing\",\n \"importance\": \"low\",\n \"default\": \"You need to answer all the questions correctly before continuing.\",\n \"optional\": true\n },\n {\n \"name\": \"back\",\n \"type\": \"text\",\n \"label\": \"Back button\",\n \"importance\": \"low\",\n \"default\": \"Back\",\n \"optional\": true\n },\n {\n \"name\": \"hours\",\n \"type\": \"text\",\n \"label\": \"Passed time hours\",\n \"importance\": \"low\",\n \"default\": \"Hours\",\n \"optional\": true\n },\n {\n \"name\": \"minutes\",\n \"type\": \"text\",\n \"label\": \"Passed time minutes\",\n \"importance\": \"low\",\n \"default\": \"Minutes\",\n \"optional\": true\n },\n {\n \"name\": \"seconds\",\n \"type\": \"text\",\n \"label\": \"Passed time seconds\",\n \"importance\": \"low\",\n \"default\": \"Seconds\",\n \"optional\": true\n },\n {\n \"name\": \"currentTime\",\n \"type\": \"text\",\n \"label\": \"Label for current time\",\n \"importance\": \"low\",\n \"default\": \"Current time:\",\n \"optional\": true\n },\n {\n \"name\": \"totalTime\",\n \"type\": \"text\",\n \"label\": \"Label for total time\",\n \"importance\": \"low\",\n \"default\": \"Total time:\",\n \"optional\": true\n },\n {\n \"name\": \"singleInteractionAnnouncement\",\n \"type\": \"text\",\n \"label\": \"Text explaining that a single interaction with a name has come into view\",\n \"importance\": \"low\",\n \"default\": \"Interaction appeared:\",\n \"optional\": true\n },\n {\n \"name\": \"multipleInteractionsAnnouncement\",\n \"type\": \"text\",\n \"label\": \"Text for explaining that multiple interactions have come into view\",\n \"importance\": \"low\",\n \"default\": \"Multiple interactions appeared.\",\n \"optional\": true\n },\n {\n \"name\": \"videoPausedAnnouncement\",\n \"type\": \"text\",\n \"label\": \"Video is paused announcement\",\n \"importance\": \"low\",\n \"default\": \"Video is paused\",\n \"optional\": true\n },\n {\n \"name\": \"content\",\n \"type\": \"text\",\n \"label\": \"Content label\",\n \"importance\": \"low\",\n \"default\": \"Content\",\n \"optional\": true\n },\n {\n \"name\": \"answered\",\n \"type\": \"text\",\n \"label\": \"Answered message (@answered will be replaced with the number of answered questions)\",\n \"importance\": \"low\",\n \"default\": \"@answered answered\",\n \"optional\": true\n },\n {\n \"name\": \"endcardTitle\",\n \"type\": \"text\",\n \"label\": \"Submit screen title\",\n \"importance\": \"low\",\n \"default\": \"@answered Question(s) answered\",\n \"description\": \"@answered will be replaced by the number of answered questions.\",\n \"optional\": true\n },\n {\n \"name\": \"endcardInformation\",\n \"type\": \"text\",\n \"label\": \"Submit screen information\",\n \"importance\": \"low\",\n \"default\": \"You have answered @answered questions, click below to submit your answers.\",\n \"description\": \"@answered will be replaced by the number of answered questions.\",\n \"optional\": true\n },\n {\n \"name\": \"endcardInformationNoAnswers\",\n \"type\": \"text\",\n \"label\": \"Submit screen information for missing answers\",\n \"importance\": \"low\",\n \"default\": \"You have not answered any questions.\",\n \"optional\": true\n },\n {\n \"name\": \"endcardInformationMustHaveAnswer\",\n \"type\": \"text\",\n \"label\": \"Submit screen information for answer needed\",\n \"importance\": \"low\",\n \"default\": \"You have to answer at least one question before you can submit your answers.\",\n \"optional\": true\n },\n {\n \"name\": \"endcardSubmitButton\",\n \"type\": \"text\",\n \"label\": \"Submit screen submit button\",\n \"importance\": \"low\",\n \"default\": \"Submit Answers\",\n \"optional\": true\n },\n {\n \"name\": \"endcardSubmitMessage\",\n \"type\": \"text\",\n \"label\": \"Submit screen submit message\",\n \"importance\": \"low\",\n \"default\": \"Your answers have been submitted!\",\n \"optional\": true\n },\n {\n \"name\": \"endcardTableRowAnswered\",\n \"type\": \"text\",\n \"label\": \"Submit screen table row title: Answered questions\",\n \"importance\": \"low\",\n \"default\": \"Answered questions\",\n \"optional\": true\n },\n {\n \"name\": \"endcardTableRowScore\",\n \"type\": \"text\",\n \"label\": \"Submit screen table row title: Score\",\n \"importance\": \"low\",\n \"default\": \"Score\",\n \"optional\": true\n },\n {\n \"name\": \"endcardAnsweredScore\",\n \"type\": \"text\",\n \"label\": \"Submit screen answered score\",\n \"importance\": \"low\",\n \"default\": \"answered\",\n \"optional\": true\n },\n {\n \"name\": \"endCardTableRowSummaryWithScore\",\n \"type\": \"text\",\n \"label\": \"Submit screen row summary including score (for readspeakers)\",\n \"importance\": \"low\",\n \"default\": \"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\n \"optional\": true\n },\n {\n \"name\": \"endCardTableRowSummaryWithoutScore\",\n \"type\": \"text\",\n \"label\": \"Submit screen row summary for no score (for readspeakers)\",\n \"importance\": \"low\",\n \"default\": \"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\",\n \"optional\": true\n }\n ]\n }\n]",
"tutorial_url": "",
"has_icon": 1
},
"created_at": "2020-09-30T20:24:58.000000Z",
"updated_at": "2020-09-30T20:24:58.000000Z"
},
"created_at": "2020-09-30T20:24:58.000000Z",
"updated_at": "2020-09-30T20:24:58.000000Z"
},
{
"id": 2,
"playlist_id": 2,
"title": "Science of Golf: Why Balls Have Dimples",
"type": "h5p",
"content": "",
"shared": false,
"order": 2,
"thumb_url": null,
"subject_id": null,
"education_level_id": null,
"h5p_content": {
"id": 59,
"user_id": 1,
"title": "Science of Golf: Why Balls Have Dimples",
"library_id": 40,
"parameters": "{\"interactiveVideo\":{\"video\":{\"startScreenOptions\":{\"title\":\"Interactive Video\",\"hideStartTitle\":false},\"textTracks\":{\"videoTrack\":[{\"label\":\"Subtitles\",\"kind\":\"subtitles\",\"srcLang\":\"en\"}]},\"files\":[{\"path\":\"https://youtu.be/fcjaxC-e8oY\",\"mime\":\"video/YouTube\",\"copyright\":{\"license\":\"U\"},\"aspectRatio\":\"16:9\"}]},\"assets\":{\"interactions\":[{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":58.33,\"to\":68.33},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"133bca3d-cfe9-442d-a887-8bf1e2ce682a\",\"question\":\"<p>Why do golf balls have dimples?</p>\\n\",\"answers\":[\"<p>They reduce wind resistance.</p>\\n\",\"<p>They make the ball more visually interesting.</p>\\n\",\"<p>They grip the putting green better than a smooth ball.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"ac029b43-7225-49ed-a2d7-8656037748e0\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Why do golf balls have dimples?\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Why do golf balls have dimples?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Why do golf balls have dimples?</p>\\n\"},{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":132.969,\"to\":142.969},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"308503f3-8d41-4f4f-b016-587bcce3dfac\",\"question\":\"<p>A smooth ball will have a detached airflow, which causes what?</p>\\n\",\"answers\":[\"<p>A low pressure zone, which is what causes drag.</p>\\n\",\"<p>The ball has no spin.</p>\\n\",\"<p>The ball travels higher, but for a shorter distance.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"f70c849d-9542-4f30-9116-8b60b7da708d\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Smooth Ball?\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Smooth Ball?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Smooth Ball</p>\\n\"}],\"bookmarks\":[],\"endscreens\":[{\"time\":295,\"label\":\"4:55 Submit screen\"}]},\"summary\":{\"task\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"8e2cf84f-4557-4f79-a03e-526838498a7d\",\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"8d5527ef-3601-4ad9-9e63-2782c9775173\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Untitled Summary\"}},\"displayAt\":3}},\"override\":{\"autoplay\":false,\"loop\":false,\"showBookmarksmenuOnLoad\":false,\"showRewind10\":false,\"preventSkipping\":false,\"deactivateSound\":false},\"l10n\":{\"interaction\":\"Interaction\",\"play\":\"Play\",\"pause\":\"Pause\",\"mute\":\"Mute\",\"unmute\":\"Unmute\",\"quality\":\"Video Quality\",\"captions\":\"Captions\",\"close\":\"Close\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit Fullscreen\",\"summary\":\"Open summary dialog\",\"bookmarks\":\"Bookmarks\",\"endscreen\":\"Submit screen\",\"defaultAdaptivitySeekLabel\":\"Continue\",\"continueWithVideo\":\"Continue with video\",\"playbackRate\":\"Playback Rate\",\"rewind10\":\"Rewind 10 Seconds\",\"navDisabled\":\"Navigation is disabled\",\"sndDisabled\":\"Sound is disabled\",\"requiresCompletionWarning\":\"You need to answer all the questions correctly before continuing.\",\"back\":\"Back\",\"hours\":\"Hours\",\"minutes\":\"Minutes\",\"seconds\":\"Seconds\",\"currentTime\":\"Current time:\",\"totalTime\":\"Total time:\",\"singleInteractionAnnouncement\":\"Interaction appeared:\",\"multipleInteractionsAnnouncement\":\"Multiple interactions appeared.\",\"videoPausedAnnouncement\":\"Video is paused\",\"content\":\"Content\",\"answered\":\"@answered answered\",\"endcardTitle\":\"@answered Question(s) answered\",\"endcardInformation\":\"You have answered @answered questions, click below to submit your answers.\",\"endcardInformationNoAnswers\":\"You have not answered any questions.\",\"endcardInformationMustHaveAnswer\":\"You have to answer at least one question before you can submit your answers.\",\"endcardSubmitButton\":\"Submit Answers\",\"endcardSubmitMessage\":\"Your answers have been submitted!\",\"endcardTableRowAnswered\":\"Answered questions\",\"endcardTableRowScore\":\"Score\",\"endcardAnsweredScore\":\"answered\",\"endCardTableRowSummaryWithScore\":\"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\"endCardTableRowSummaryWithoutScore\":\"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\"}}",
"filtered": "{\"interactiveVideo\":{\"video\":{\"startScreenOptions\":{\"title\":\"Interactive Video\",\"hideStartTitle\":false},\"textTracks\":{\"videoTrack\":[{\"label\":\"Subtitles\",\"kind\":\"subtitles\",\"srcLang\":\"en\"}]},\"files\":[{\"path\":\"https://youtu.be/fcjaxC-e8oY\",\"mime\":\"video/YouTube\",\"copyright\":{\"license\":\"U\"}}]},\"assets\":{\"interactions\":[{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":58.33,\"to\":68.33},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"133bca3d-cfe9-442d-a887-8bf1e2ce682a\",\"question\":\"<p>Why do golf balls have dimples?</p>\\n\",\"answers\":[\"<p>They reduce wind resistance.</p>\\n\",\"<p>They make the ball more visually interesting.</p>\\n\",\"<p>They grip the putting green better than a smooth ball.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"ac029b43-7225-49ed-a2d7-8656037748e0\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Why do golf balls have dimples?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Why do golf balls have dimples?</p>\\n\"},{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":132.969,\"to\":142.969},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"308503f3-8d41-4f4f-b016-587bcce3dfac\",\"question\":\"<p>A smooth ball will have a detached airflow, which causes what?</p>\\n\",\"answers\":[\"<p>A low pressure zone, which is what causes drag.</p>\\n\",\"<p>The ball has no spin.</p>\\n\",\"<p>The ball travels higher, but for a shorter distance.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"f70c849d-9542-4f30-9116-8b60b7da708d\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Smooth Ball?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Smooth Ball</p>\\n\"}],\"endscreens\":[{\"time\":295,\"label\":\"4:55 Submit screen\"}]},\"summary\":{\"task\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"8e2cf84f-4557-4f79-a03e-526838498a7d\",\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"8d5527ef-3601-4ad9-9e63-2782c9775173\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\"}},\"displayAt\":3}},\"override\":{\"autoplay\":false,\"loop\":false,\"showBookmarksmenuOnLoad\":false,\"showRewind10\":false,\"preventSkipping\":false,\"deactivateSound\":false},\"l10n\":{\"interaction\":\"Interaction\",\"play\":\"Play\",\"pause\":\"Pause\",\"mute\":\"Mute\",\"unmute\":\"Unmute\",\"quality\":\"Video Quality\",\"captions\":\"Captions\",\"close\":\"Close\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit Fullscreen\",\"summary\":\"Open summary dialog\",\"bookmarks\":\"Bookmarks\",\"endscreen\":\"Submit screen\",\"defaultAdaptivitySeekLabel\":\"Continue\",\"continueWithVideo\":\"Continue with video\",\"playbackRate\":\"Playback Rate\",\"rewind10\":\"Rewind 10 Seconds\",\"navDisabled\":\"Navigation is disabled\",\"sndDisabled\":\"Sound is disabled\",\"requiresCompletionWarning\":\"You need to answer all the questions correctly before continuing.\",\"back\":\"Back\",\"hours\":\"Hours\",\"minutes\":\"Minutes\",\"seconds\":\"Seconds\",\"currentTime\":\"Current time:\",\"totalTime\":\"Total time:\",\"singleInteractionAnnouncement\":\"Interaction appeared:\",\"multipleInteractionsAnnouncement\":\"Multiple interactions appeared.\",\"videoPausedAnnouncement\":\"Video is paused\",\"content\":\"Content\",\"answered\":\"@answered answered\",\"endcardTitle\":\"@answered Question(s) answered\",\"endcardInformation\":\"You have answered @answered questions, click below to submit your answers.\",\"endcardInformationNoAnswers\":\"You have not answered any questions.\",\"endcardInformationMustHaveAnswer\":\"You have to answer at least one question before you can submit your answers.\",\"endcardSubmitButton\":\"Submit Answers\",\"endcardSubmitMessage\":\"Your answers have been submitted!\",\"endcardTableRowAnswered\":\"Answered questions\",\"endcardTableRowScore\":\"Score\",\"endcardAnsweredScore\":\"answered\",\"endCardTableRowSummaryWithScore\":\"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\"endCardTableRowSummaryWithoutScore\":\"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\"}}",
"slug": "science-of-golf-why-balls-have-dimples",
"embed_type": "div",
"disable": 9,
"content_type": null,
"authors": null,
"source": null,
"year_from": null,
"year_to": null,
"license": "U",
"license_version": null,
"license_extras": null,
"author_comments": null,
"changes": null,
"default_language": null,
"library": {
"id": 40,
"created_at": null,
"updated_at": null,
"name": "H5P.InteractiveVideo",
"title": "Interactive Video",
"major_version": 1,
"minor_version": 21,
"patch_version": 9,
"runnable": 1,
"restricted": 0,
"fullscreen": 1,
"embed_types": "iframe",
"preloaded_js": "dist/h5p-interactive-video.js",
"preloaded_css": "dist/h5p-interactive-video.css",
"drop_library_css": "",
"semantics": "[\n {\n \"name\": \"interactiveVideo\",\n \"type\": \"group\",\n \"widget\": \"wizard\",\n \"label\": \"Interactive Video Editor\",\n \"importance\": \"high\",\n \"fields\": [\n {\n \"name\": \"video\",\n \"type\": \"group\",\n \"label\": \"Upload/embed video\",\n \"importance\": \"high\",\n \"fields\": [\n {\n \"name\": \"files\",\n \"type\": \"video\",\n \"label\": \"Add a video\",\n \"importance\": \"high\",\n \"description\": \"Click below to add a video you wish to use in your interactive video. You can add a video link or upload video files. It is possible to add several versions of the video with different qualities. To ensure maximum support in browsers at least add a version in webm and mp4 formats.\",\n \"extraAttributes\": [\n \"metadata\"\n ],\n \"enableCustomQualityLabel\": true\n },\n {\n \"name\": \"startScreenOptions\",\n \"type\": \"group\",\n \"label\": \"Start screen options (unsupported for YouTube videos)\",\n \"importance\": \"low\",\n \"fields\": [\n {\n \"name\": \"title\",\n \"type\": \"text\",\n \"label\": \"The title of this interactive video\",\n \"importance\": \"low\",\n \"maxLength\": 60,\n \"default\": \"Interactive Video\",\n \"description\": \"Used in summaries, statistics etc.\"\n },\n {\n \"name\": \"hideStartTitle\",\n \"type\": \"boolean\",\n \"label\": \"Hide title on video start screen\",\n \"importance\": \"low\",\n \"optional\": true,\n \"default\": false\n },\n {\n \"name\": \"shortStartDescription\",\n \"type\": \"text\",\n \"label\": \"Short description (Optional)\",\n \"importance\": \"low\",\n \"optional\": true,\n \"maxLength\": 120,\n \"description\": \"Optional. Display a short description text on the video start screen. Does not work for YouTube videos.\"\n },\n {\n \"name\": \"poster\",\n \"type\": \"image\",\n \"label\": \"Poster image\",\n \"importance\": \"low\",\n \"optional\": true,\n \"description\": \"Image displayed before the user launches the video. Does not work for YouTube Videos.\"\n }\n ]\n },\n {\n \"name\": \"textTracks\",\n \"type\": \"group\",\n \"label\": \"Text tracks (unsupported for YouTube videos)\",\n \"importance\": \"low\",\n \"fields\": [\n {\n \"name\": \"videoTrack\",\n \"type\": \"list\",\n \"label\": \"Available text tracks\",\n \"importance\": \"low\",\n \"optional\": true,\n \"entity\": \"Track\",\n \"min\": 0,\n \"defaultNum\": 1,\n \"field\": {\n \"name\": \"track\",\n \"type\": \"group\",\n \"label\": \"Track\",\n \"importance\": \"low\",\n \"expanded\": false,\n \"fields\": [\n {\n \"name\": \"label\",\n \"type\": \"text\",\n \"label\": \"Track label\",\n \"description\": \"Used if you offer multiple tracks and the user has to choose a track. For instance 'Spanish subtitles' could be the label of a Spanish subtitle track.\",\n \"importance\": \"low\",\n \"default\": \"Subtitles\",\n \"optional\": true\n },\n {\n \"name\": \"kind\",\n \"type\": \"select\",\n \"label\": \"Type of text track\",\n \"importance\": \"low\",\n \"default\": \"subtitles\",\n \"options\": [\n {\n \"value\": \"subtitles\",\n \"label\": \"Subtitles\"\n },\n {\n \"value\": \"captions\",\n \"label\": \"Captions\"\n },\n {\n \"value\": \"descriptions\",\n \"label\": \"Descriptions\"\n }\n ]\n },\n {\n \"name\": \"srcLang\",\n \"type\": \"text\",\n \"label\": \"Source language, must be defined for subtitles\",\n \"importance\": \"low\",\n \"default\": \"en\",\n \"description\": \"Must be a valid BCP 47 language tag. If 'Subtitles' is the type of text track selected, the source language of the track must be defined.\"\n },\n {\n \"name\": \"track\",\n \"type\": \"file\",\n \"label\": \"Track source (WebVTT file)\",\n \"importance\": \"low\"\n }\n ]\n }\n },\n {\n \"name\": \"defaultTrackLabel\",\n \"type\": \"text\",\n \"label\": \"Default text track\",\n \"description\": \"If left empty or not matching any of the text tracks the first text track will be used as the default.\",\n \"importance\": \"low\",\n \"optional\": true\n }\n ]\n }\n ]\n },\n {\n \"name\": \"assets\",\n \"type\": \"group\",\n \"label\": \"Add interactions\",\n \"importance\": \"high\",\n \"widget\": \"interactiveVideo\",\n \"video\": \"video/files\",\n \"poster\": \"video/startScreenOptions/poster\",\n \"fields\": [\n {\n \"name\": \"interactions\",\n \"type\": \"list\",\n \"field\": {\n \"name\": \"interaction\",\n \"type\": \"group\",\n \"fields\": [\n {\n \"name\": \"duration\",\n \"type\": \"group\",\n \"widget\": \"duration\",\n \"label\": \"Display time\",\n \"importance\": \"low\",\n \"fields\": [\n {\n \"name\": \"from\",\n \"type\": \"number\"\n },\n {\n \"name\": \"to\",\n \"type\": \"number\"\n }\n ]\n },\n {\n \"name\": \"pause\",\n \"label\": \"Pause video\",\n \"importance\": \"low\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"displayType\",\n \"label\": \"Display as\",\n \"importance\": \"low\",\n \"description\": \"<b>Button</b> is a collapsed interaction the user must press to open. <b>Poster</b> is an expanded interaction displayed directly on top of the video\",\n \"type\": \"select\",\n \"widget\": \"imageRadioButtonGroup\",\n \"options\": [\n {\n \"value\": \"button\",\n \"label\": \"Button\"\n },\n {\n \"value\": \"poster\",\n \"label\": \"Poster\"\n }\n ],\n \"default\": \"button\"\n },\n {\n \"name\": \"buttonOnMobile\",\n \"label\": \"Turn into button on small screens\",\n \"importance\": \"low\",\n \"type\": \"boolean\",\n \"default\": false\n },\n {\n \"name\": \"label\",\n \"type\": \"text\",\n \"widget\": \"html\",\n \"label\": \"Label\",\n \"importance\": \"low\",\n \"description\": \"Label displayed next to interaction icon.\",\n \"optional\": true,\n \"enterMode\": \"p\",\n \"tags\": [\n \"p\"\n ]\n },\n {\n \"name\": \"x\",\n \"type\": \"number\",\n \"importance\": \"low\",\n \"widget\": \"none\"\n },\n {\n \"name\": \"y\",\n \"type\": \"number\",\n \"importance\": \"low\",\n \"widget\": \"none\"\n },\n {\n \"name\": \"width\",\n \"type\": \"number\",\n \"widget\": \"none\",\n \"importance\": \"low\",\n \"optional\": true\n },\n {\n \"name\": \"height\",\n \"type\": \"number\",\n \"widget\": \"none\",\n \"importance\": \"low\",\n \"optional\": true\n },\n {\n \"name\": \"libraryTitle\",\n \"type\": \"text\",\n \"importance\": \"low\",\n \"optional\": true,\n \"widget\": \"none\"\n },\n {\n \"name\": \"action\",\n \"type\": \"library\",\n \"importance\": \"low\",\n \"options\": [\n \"H5P.Nil 1.0\",\n \"H5P.Text 1.1\",\n \"H5P.Table 1.1\",\n \"H5P.Link 1.3\",\n \"H5P.Image 1.1\",\n \"H5P.Summary 1.10\",\n \"H5P.SingleChoiceSet 1.11\",\n \"H5P.MultiChoice 1.14\",\n \"H5P.TrueFalse 1.6\",\n \"H5P.Blanks 1.12\",\n \"H5P.DragQuestion 1.13\",\n \"H5P.MarkTheWords 1.9\",\n \"H5P.DragText 1.8\",\n \"H5P.GoToQuestion 1.3\",\n \"H5P.IVHotspot 1.2\",\n \"H5P.Questionnaire 1.2\",\n \"H5P.FreeTextQuestion 1.0\"\n ]\n },\n {\n \"name\": \"adaptivity\",\n \"type\": \"group\",\n \"label\": \"Adaptivity\",\n \"importance\": \"low\",\n \"optional\": true,\n \"fields\": [\n {\n \"name\": \"correct\",\n \"type\": \"group\",\n \"label\": \"Action on all correct\",\n \"fields\": [\n {\n \"name\": \"seekTo\",\n \"type\": \"number\",\n \"widget\": \"timecode\",\n \"label\": \"Seek to\",\n \"description\": \"Enter timecode in the format M:SS\"\n },\n {\n \"name\": \"allowOptOut\",\n \"type\": \"boolean\",\n \"label\": \"Allow the user to opt out and continue\"\n },\n {\n \"name\": \"message\",\n \"type\": \"text\",\n \"widget\": \"html\",\n \"enterMode\": \"p\",\n \"tags\": [\n \"strong\",\n \"em\",\n \"del\",\n \"a\",\n \"code\"\n ],\n \"label\": \"Message\"\n },\n {\n \"name\": \"seekLabel\",\n \"type\": \"text\",\n \"label\": \"Label for seek button\"\n }\n ]\n },\n {\n \"name\": \"wrong\",\n \"type\": \"group\",\n \"label\": \"Action on wrong\",\n \"fields\": [\n {\n \"name\": \"seekTo\",\n \"type\": \"number\",\n \"widget\": \"timecode\",\n \"label\": \"Seek to\",\n \"description\": \"Enter timecode in the format M:SS\"\n },\n {\n \"name\": \"allowOptOut\",\n \"type\": \"boolean\",\n \"label\": \"Allow the user to opt out and continue\"\n },\n {\n \"name\": \"message\",\n \"type\": \"text\",\n \"widget\": \"html\",\n \"enterMode\": \"p\",\n \"tags\": [\n \"strong\",\n \"em\",\n \"del\",\n \"a\",\n \"code\"\n ],\n \"label\": \"Message\"\n },\n {\n \"name\": \"seekLabel\",\n \"type\": \"text\",\n \"label\": \"Label for seek button\"\n }\n ]\n },\n {\n \"name\": \"requireCompletion\",\n \"type\": \"boolean\",\n \"label\": \"Require full score for task before proceeding\",\n \"description\": \"For best functionality this option should be used in conjunction with the \\\"Prevent skipping forward in a video\\\" option of Interactive Video.\"\n }\n ]\n },\n {\n \"name\": \"visuals\",\n \"label\": \"Visuals\",\n \"importance\": \"low\",\n \"type\": \"group\",\n \"fields\": [\n {\n \"name\": \"backgroundColor\",\n \"type\": \"text\",\n \"label\": \"Background color\",\n \"widget\": \"colorSelector\",\n \"default\": \"rgb(255, 255, 255)\",\n \"spectrum\": {\n \"showInput\": true,\n \"showAlpha\": true,\n \"preferredFormat\": \"rgb\",\n \"showPalette\": true,\n \"palette\": [\n [\n \"rgba(0, 0, 0, 0)\"\n ],\n [\n \"rgb(67, 67, 67)\",\n \"rgb(102, 102, 102)\",\n \"rgb(204, 204, 204)\",\n \"rgb(217, 217, 217)\",\n \"rgb(255, 255, 255)\"\n ],\n [\n \"rgb(152, 0, 0)\",\n \"rgb(255, 0, 0)\",\n \"rgb(255, 153, 0)\",\n \"rgb(255, 255, 0)\",\n \"rgb(0, 255, 0)\",\n \"rgb(0, 255, 255)\",\n \"rgb(74, 134, 232)\",\n \"rgb(0, 0, 255)\",\n \"rgb(153, 0, 255)\",\n \"rgb(255, 0, 255)\"\n ],\n [\n \"rgb(230, 184, 175)\",\n \"rgb(244, 204, 204)\",\n \"rgb(252, 229, 205)\",\n \"rgb(255, 242, 204)\",\n \"rgb(217, 234, 211)\",\n \"rgb(208, 224, 227)\",\n \"rgb(201, 218, 248)\",\n \"rgb(207, 226, 243)\",\n \"rgb(217, 210, 233)\",\n \"rgb(234, 209, 220)\",\n \"rgb(221, 126, 107)\",\n \"rgb(234, 153, 153)\",\n \"rgb(249, 203, 156)\",\n \"rgb(255, 229, 153)\",\n \"rgb(182, 215, 168)\",\n \"rgb(162, 196, 201)\",\n \"rgb(164, 194, 244)\",\n \"rgb(159, 197, 232)\",\n \"rgb(180, 167, 214)\",\n \"rgb(213, 166, 189)\",\n \"rgb(204, 65, 37)\",\n \"rgb(224, 102, 102)\",\n \"rgb(246, 178, 107)\",\n \"rgb(255, 217, 102)\",\n \"rgb(147, 196, 125)\",\n \"rgb(118, 165, 175)\",\n \"rgb(109, 158, 235)\",\n \"rgb(111, 168, 220)\",\n \"rgb(142, 124, 195)\",\n \"rgb(194, 123, 160)\",\n \"rgb(166, 28, 0)\",\n \"rgb(204, 0, 0)\",\n \"rgb(230, 145, 56)\",\n \"rgb(241, 194, 50)\",\n \"rgb(106, 168, 79)\",\n \"rgb(69, 129, 142)\",\n \"rgb(60, 120, 216)\",\n \"rgb(61, 133, 198)\",\n \"rgb(103, 78, 167)\",\n \"rgb(166, 77, 121)\",\n \"rgb(91, 15, 0)\",\n \"rgb(102, 0, 0)\",\n \"rgb(120, 63, 4)\",\n \"rgb(127, 96, 0)\",\n \"rgb(39, 78, 19)\",\n \"rgb(12, 52, 61)\",\n \"rgb(28, 69, 135)\",\n \"rgb(7, 55, 99)\",\n \"rgb(32, 18, 77)\",\n \"rgb(76, 17, 48)\"\n ]\n ]\n }\n },\n {\n \"name\": \"boxShadow\",\n \"type\": \"boolean\",\n \"label\": \"Box shadow\",\n \"default\": true,\n \"description\": \"Adds a subtle shadow around the interaction. You might want to disable this for completely transparent interactions\"\n }\n ]\n },\n {\n \"name\": \"goto\",\n \"label\": \"Go to on click\",\n \"importance\": \"low\",\n \"type\": \"group\",\n \"fields\": [\n {\n \"name\": \"type\",\n \"label\": \"Type\",\n \"type\": \"select\",\n \"widget\": \"selectToggleFields\",\n \"options\": [\n {\n \"value\": \"timecode\",\n \"label\": \"Timecode\",\n \"hideFields\": [\n \"url\"\n ]\n },\n {\n \"value\": \"url\",\n \"label\": \"Another page (URL)\",\n \"hideFields\": [\n \"time\"\n ]\n }\n ],\n \"optional\": true\n },\n {\n \"name\": \"time\",\n \"type\": \"number\",\n \"widget\": \"timecode\",\n \"label\": \"Go To\",\n \"description\": \"The target time the user will be taken to upon pressing the hotspot. Enter timecode in the format M:SS.\",\n \"optional\": true\n },\n {\n \"name\": \"url\",\n \"type\": \"group\",\n \"label\": \"URL\",\n \"widget\": \"linkWidget\",\n \"optional\": true,\n \"fields\": [\n {\n \"name\": \"protocol\",\n \"type\": \"select\",\n \"label\": \"Protocol\",\n \"options\": [\n {\n \"value\": \"http://\",\n \"label\": \"http://\"\n },\n {\n \"value\": \"https://\",\n \"label\": \"https://\"\n },\n {\n \"value\": \"/\",\n \"label\": \"(root relative)\"\n },\n {\n \"value\": \"other\",\n \"label\": \"other\"\n }\n ],\n \"optional\": true,\n \"default\": \"http://\"\n },\n {\n \"name\": \"url\",\n \"type\": \"text\",\n \"label\": \"URL\",\n \"optional\": true\n }\n ]\n },\n {\n \"name\": \"visualize\",\n \"type\": \"boolean\",\n \"label\": \"Visualize\",\n \"description\": \"Show that interaction can be clicked by adding a border and an icon\"\n }\n ]\n }\n ]\n }\n },\n {\n \"name\": \"bookmarks\",\n \"importance\": \"low\",\n \"type\": \"list\",\n \"field\": {\n \"name\": \"bookmark\",\n \"type\": \"group\",\n \"fields\": [\n {\n \"name\": \"time\",\n \"type\": \"number\"\n },\n {\n \"name\": \"label\",\n \"type\": \"text\"\n }\n ]\n }\n },\n {\n \"name\": \"endscreens\",\n \"importance\": \"low\",\n \"type\": \"list\",\n \"field\": {\n \"name\": \"endscreen\",\n \"type\": \"group\",\n \"fields\": [\n {\n \"name\": \"time\",\n \"type\": \"number\"\n },\n {\n \"name\": \"label\",\n \"type\": \"text\"\n }\n ]\n }\n }\n ]\n },\n {\n \"name\": \"summary\",\n \"type\": \"group\",\n \"label\": \"Summary task\",\n \"importance\": \"high\",\n \"fields\": [\n {\n \"name\": \"task\",\n \"type\": \"library\",\n \"options\": [\n \"H5P.Summary 1.10\"\n ],\n \"default\": {\n \"library\": \"H5P.Summary 1.10\",\n \"params\": {}\n }\n },\n {\n \"name\": \"displayAt\",\n \"type\": \"number\",\n \"label\": \"Display at\",\n \"description\": \"Number of seconds before the video ends.\",\n \"default\": 3\n }\n ]\n }\n ]\n },\n {\n \"name\": \"override\",\n \"type\": \"group\",\n \"label\": \"Behavioural settings\",\n \"importance\": \"low\",\n \"optional\": true,\n \"fields\": [\n {\n \"name\": \"startVideoAt\",\n \"type\": \"number\",\n \"widget\": \"timecode\",\n \"label\": \"Start video at\",\n \"importance\": \"low\",\n \"optional\": true,\n \"description\": \"Enter timecode in the format M:SS\"\n },\n {\n \"name\": \"autoplay\",\n \"type\": \"boolean\",\n \"label\": \"Auto-play video\",\n \"default\": false,\n \"optional\": true,\n \"description\": \"Start playing the video automatically\"\n },\n {\n \"name\": \"loop\",\n \"type\": \"boolean\",\n \"label\": \"Loop the video\",\n \"default\": false,\n \"optional\": true,\n \"description\": \"Check if video should run in a loop\"\n },\n {\n \"name\": \"showSolutionButton\",\n \"type\": \"select\",\n \"label\": \"Override \\\"Show Solution\\\" button\",\n \"importance\": \"low\",\n \"description\": \"This option determines if the \\\"Show Solution\\\" button will be shown for all questions, disabled for all or configured for each question individually.\",\n \"optional\": true,\n \"options\": [\n {\n \"value\": \"on\",\n \"label\": \"Enabled\"\n },\n {\n \"value\": \"off\",\n \"label\": \"Disabled\"\n }\n ]\n },\n {\n \"name\": \"retryButton\",\n \"type\": \"select\",\n \"label\": \"Override \\\"Retry\\\" button\",\n \"importance\": \"low\",\n \"description\": \"This option determines if the \\\"Retry\\\" button will be shown for all questions, disabled for all or configured for each question individually.\",\n \"optional\": true,\n \"options\": [\n {\n \"value\": \"on\",\n \"label\": \"Enabled\"\n },\n {\n \"value\": \"off\",\n \"label\": \"Disabled\"\n }\n ]\n },\n {\n \"name\": \"showBookmarksmenuOnLoad\",\n \"type\": \"boolean\",\n \"label\": \"Start with bookmarks menu open\",\n \"importance\": \"low\",\n \"default\": false,\n \"description\": \"This function is not available on iPad when using YouTube as video source.\"\n },\n {\n \"name\": \"showRewind10\",\n \"type\": \"boolean\",\n \"label\": \"Show button for rewinding 10 seconds\",\n \"importance\": \"low\",\n \"default\": false\n },\n {\n \"name\": \"preventSkipping\",\n \"type\": \"boolean\",\n \"default\": false,\n \"label\": \"Prevent skipping forward in a video\",\n \"importance\": \"low\",\n \"description\": \"Enabling this options will disable user video navigation through default controls.\"\n },\n {\n \"name\": \"deactivateSound\",\n \"type\": \"boolean\",\n \"default\": false,\n \"label\": \"Deactivate sound\",\n \"importance\": \"low\",\n \"description\": \"Enabling this option will deactivate the video's sound and prevent it from being switched on.\"\n }\n ]\n },\n {\n \"name\": \"l10n\",\n \"type\": \"group\",\n \"label\": \"Localize\",\n \"importance\": \"low\",\n \"common\": true,\n \"optional\": true,\n \"fields\": [\n {\n \"name\": \"interaction\",\n \"type\": \"text\",\n \"label\": \"Interaction title\",\n \"importance\": \"low\",\n \"default\": \"Interaction\",\n \"optional\": true\n },\n {\n \"name\": \"play\",\n \"type\": \"text\",\n \"label\": \"Play title\",\n \"importance\": \"low\",\n \"default\": \"Play\",\n \"optional\": true\n },\n {\n \"name\": \"pause\",\n \"type\": \"text\",\n \"label\": \"Pause title\",\n \"importance\": \"low\",\n \"default\": \"Pause\",\n \"optional\": true\n },\n {\n \"name\": \"mute\",\n \"type\": \"text\",\n \"label\": \"Mute title\",\n \"importance\": \"low\",\n \"default\": \"Mute\",\n \"optional\": true\n },\n {\n \"name\": \"unmute\",\n \"type\": \"text\",\n \"label\": \"Unmute title\",\n \"importance\": \"low\",\n \"default\": \"Unmute\",\n \"optional\": true\n },\n {\n \"name\": \"quality\",\n \"type\": \"text\",\n \"label\": \"Video quality title\",\n \"importance\": \"low\",\n \"default\": \"Video Quality\",\n \"optional\": true\n },\n {\n \"name\": \"captions\",\n \"type\": \"text\",\n \"label\": \"Video captions title\",\n \"importance\": \"low\",\n \"default\": \"Captions\",\n \"optional\": true\n },\n {\n \"name\": \"close\",\n \"type\": \"text\",\n \"label\": \"Close button text\",\n \"importance\": \"low\",\n \"default\": \"Close\",\n \"optional\": true\n },\n {\n \"name\": \"fullscreen\",\n \"type\": \"text\",\n \"label\": \"Fullscreen title\",\n \"importance\": \"low\",\n \"default\": \"Fullscreen\",\n \"optional\": true\n },\n {\n \"name\": \"exitFullscreen\",\n \"type\": \"text\",\n \"label\": \"Exit fullscreen title\",\n \"importance\": \"low\",\n \"default\": \"Exit Fullscreen\",\n \"optional\": true\n },\n {\n \"name\": \"summary\",\n \"type\": \"text\",\n \"label\": \"Summary title\",\n \"importance\": \"low\",\n \"default\": \"Open summary dialog\",\n \"optional\": true\n },\n {\n \"name\": \"bookmarks\",\n \"type\": \"text\",\n \"label\": \"Bookmarks title\",\n \"importance\": \"low\",\n \"default\": \"Bookmarks\",\n \"optional\": true\n },\n {\n \"name\": \"endscreen\",\n \"type\": \"text\",\n \"label\": \"Submit screen title\",\n \"importance\": \"low\",\n \"default\": \"Submit screen\",\n \"optional\": true\n },\n {\n \"name\": \"defaultAdaptivitySeekLabel\",\n \"type\": \"text\",\n \"label\": \"Default label for adaptivity seek button\",\n \"importance\": \"low\",\n \"default\": \"Continue\",\n \"optional\": true\n },\n {\n \"name\": \"continueWithVideo\",\n \"type\": \"text\",\n \"label\": \"Default label for continue video button\",\n \"importance\": \"low\",\n \"default\": \"Continue with video\",\n \"optional\": true\n },\n {\n \"name\": \"playbackRate\",\n \"type\": \"text\",\n \"label\": \"Set playback rate\",\n \"importance\": \"low\",\n \"default\": \"Playback Rate\",\n \"optional\": true\n },\n {\n \"name\": \"rewind10\",\n \"type\": \"text\",\n \"label\": \"Rewind 10 Seconds\",\n \"importance\": \"low\",\n \"default\": \"Rewind 10 Seconds\",\n \"optional\": true\n },\n {\n \"name\": \"navDisabled\",\n \"type\": \"text\",\n \"label\": \"Navigation is disabled text\",\n \"importance\": \"low\",\n \"default\": \"Navigation is disabled\",\n \"optional\": true\n },\n {\n \"name\": \"sndDisabled\",\n \"type\": \"text\",\n \"label\": \"Sound is disabled text\",\n \"importance\": \"low\",\n \"default\": \"Sound is disabled\",\n \"optional\": true\n },\n {\n \"name\": \"requiresCompletionWarning\",\n \"type\": \"text\",\n \"label\": \"Warning that the user must answer the question correctly before continuing\",\n \"importance\": \"low\",\n \"default\": \"You need to answer all the questions correctly before continuing.\",\n \"optional\": true\n },\n {\n \"name\": \"back\",\n \"type\": \"text\",\n \"label\": \"Back button\",\n \"importance\": \"low\",\n \"default\": \"Back\",\n \"optional\": true\n },\n {\n \"name\": \"hours\",\n \"type\": \"text\",\n \"label\": \"Passed time hours\",\n \"importance\": \"low\",\n \"default\": \"Hours\",\n \"optional\": true\n },\n {\n \"name\": \"minutes\",\n \"type\": \"text\",\n \"label\": \"Passed time minutes\",\n \"importance\": \"low\",\n \"default\": \"Minutes\",\n \"optional\": true\n },\n {\n \"name\": \"seconds\",\n \"type\": \"text\",\n \"label\": \"Passed time seconds\",\n \"importance\": \"low\",\n \"default\": \"Seconds\",\n \"optional\": true\n },\n {\n \"name\": \"currentTime\",\n \"type\": \"text\",\n \"label\": \"Label for current time\",\n \"importance\": \"low\",\n \"default\": \"Current time:\",\n \"optional\": true\n },\n {\n \"name\": \"totalTime\",\n \"type\": \"text\",\n \"label\": \"Label for total time\",\n \"importance\": \"low\",\n \"default\": \"Total time:\",\n \"optional\": true\n },\n {\n \"name\": \"singleInteractionAnnouncement\",\n \"type\": \"text\",\n \"label\": \"Text explaining that a single interaction with a name has come into view\",\n \"importance\": \"low\",\n \"default\": \"Interaction appeared:\",\n \"optional\": true\n },\n {\n \"name\": \"multipleInteractionsAnnouncement\",\n \"type\": \"text\",\n \"label\": \"Text for explaining that multiple interactions have come into view\",\n \"importance\": \"low\",\n \"default\": \"Multiple interactions appeared.\",\n \"optional\": true\n },\n {\n \"name\": \"videoPausedAnnouncement\",\n \"type\": \"text\",\n \"label\": \"Video is paused announcement\",\n \"importance\": \"low\",\n \"default\": \"Video is paused\",\n \"optional\": true\n },\n {\n \"name\": \"content\",\n \"type\": \"text\",\n \"label\": \"Content label\",\n \"importance\": \"low\",\n \"default\": \"Content\",\n \"optional\": true\n },\n {\n \"name\": \"answered\",\n \"type\": \"text\",\n \"label\": \"Answered message (@answered will be replaced with the number of answered questions)\",\n \"importance\": \"low\",\n \"default\": \"@answered answered\",\n \"optional\": true\n },\n {\n \"name\": \"endcardTitle\",\n \"type\": \"text\",\n \"label\": \"Submit screen title\",\n \"importance\": \"low\",\n \"default\": \"@answered Question(s) answered\",\n \"description\": \"@answered will be replaced by the number of answered questions.\",\n \"optional\": true\n },\n {\n \"name\": \"endcardInformation\",\n \"type\": \"text\",\n \"label\": \"Submit screen information\",\n \"importance\": \"low\",\n \"default\": \"You have answered @answered questions, click below to submit your answers.\",\n \"description\": \"@answered will be replaced by the number of answered questions.\",\n \"optional\": true\n },\n {\n \"name\": \"endcardInformationNoAnswers\",\n \"type\": \"text\",\n \"label\": \"Submit screen information for missing answers\",\n \"importance\": \"low\",\n \"default\": \"You have not answered any questions.\",\n \"optional\": true\n },\n {\n \"name\": \"endcardInformationMustHaveAnswer\",\n \"type\": \"text\",\n \"label\": \"Submit screen information for answer needed\",\n \"importance\": \"low\",\n \"default\": \"You have to answer at least one question before you can submit your answers.\",\n \"optional\": true\n },\n {\n \"name\": \"endcardSubmitButton\",\n \"type\": \"text\",\n \"label\": \"Submit screen submit button\",\n \"importance\": \"low\",\n \"default\": \"Submit Answers\",\n \"optional\": true\n },\n {\n \"name\": \"endcardSubmitMessage\",\n \"type\": \"text\",\n \"label\": \"Submit screen submit message\",\n \"importance\": \"low\",\n \"default\": \"Your answers have been submitted!\",\n \"optional\": true\n },\n {\n \"name\": \"endcardTableRowAnswered\",\n \"type\": \"text\",\n \"label\": \"Submit screen table row title: Answered questions\",\n \"importance\": \"low\",\n \"default\": \"Answered questions\",\n \"optional\": true\n },\n {\n \"name\": \"endcardTableRowScore\",\n \"type\": \"text\",\n \"label\": \"Submit screen table row title: Score\",\n \"importance\": \"low\",\n \"default\": \"Score\",\n \"optional\": true\n },\n {\n \"name\": \"endcardAnsweredScore\",\n \"type\": \"text\",\n \"label\": \"Submit screen answered score\",\n \"importance\": \"low\",\n \"default\": \"answered\",\n \"optional\": true\n },\n {\n \"name\": \"endCardTableRowSummaryWithScore\",\n \"type\": \"text\",\n \"label\": \"Submit screen row summary including score (for readspeakers)\",\n \"importance\": \"low\",\n \"default\": \"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\n \"optional\": true\n },\n {\n \"name\": \"endCardTableRowSummaryWithoutScore\",\n \"type\": \"text\",\n \"label\": \"Submit screen row summary for no score (for readspeakers)\",\n \"importance\": \"low\",\n \"default\": \"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\",\n \"optional\": true\n }\n ]\n }\n]",
"tutorial_url": "",
"has_icon": 1
},
"created_at": "2020-09-30T20:24:58.000000Z",
"updated_at": "2020-09-30T20:24:58.000000Z"
},
"created_at": "2020-09-30T20:24:58.000000Z",
"updated_at": "2020-09-30T20:24:58.000000Z"
}
]
}
Received response:
Request failed with error:
Create Activity
Create a new activity.
Example request:
curl --request POST \
"http://localhost:8000/api/v1/playlists/186/activities" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"title\": \"Science of Golf: Why Balls Have Dimples\",
\"type\": \"h5p\",
\"content\": \"eos\",
\"description\": \"oxlemkiwzltdlkyfausozhgauksulxvusizdelqpombhxoclcwclddivrbcbyjayyhkbsvrxwqttlhrgwgnxjkcplcqllhkpngwoaszarklbltbjbxdnzmrgbxaykdtwafhcfloszagaglptgqduygfinfyeykacllqvakxsandxjjmhsshdxoybcdvhmjkiegsylceoprzxtmbbawelvpbgrbbvhdufbbptdwwcciuezwhmiepdmibixxslvtvlaqsaisdwvuaklhqsf\",
\"order\": 2,
\"shared\": true,
\"h5p_content_id\": 59,
\"thumb_url\": \"null\",
\"subject_id\": [
1,
2
],
\"education_level_id\": [
1,
2
],
\"author_tag_id\": [
1,
2
],
\"source_type\": \"provident\",
\"source_url\": \"eveniet\"
}"
const url = new URL(
"http://localhost:8000/api/v1/playlists/186/activities"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"title": "Science of Golf: Why Balls Have Dimples",
"type": "h5p",
"content": "eos",
"description": "oxlemkiwzltdlkyfausozhgauksulxvusizdelqpombhxoclcwclddivrbcbyjayyhkbsvrxwqttlhrgwgnxjkcplcqllhkpngwoaszarklbltbjbxdnzmrgbxaykdtwafhcfloszagaglptgqduygfinfyeykacllqvakxsandxjjmhsshdxoybcdvhmjkiegsylceoprzxtmbbawelvpbgrbbvhdufbbptdwwcciuezwhmiepdmibixxslvtvlaqsaisdwvuaklhqsf",
"order": 2,
"shared": true,
"h5p_content_id": 59,
"thumb_url": "null",
"subject_id": [
1,
2
],
"education_level_id": [
1,
2
],
"author_tag_id": [
1,
2
],
"source_type": "provident",
"source_url": "eveniet"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/playlists/186/activities',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'title' => 'Science of Golf: Why Balls Have Dimples',
'type' => 'h5p',
'content' => 'eos',
'description' => 'oxlemkiwzltdlkyfausozhgauksulxvusizdelqpombhxoclcwclddivrbcbyjayyhkbsvrxwqttlhrgwgnxjkcplcqllhkpngwoaszarklbltbjbxdnzmrgbxaykdtwafhcfloszagaglptgqduygfinfyeykacllqvakxsandxjjmhsshdxoybcdvhmjkiegsylceoprzxtmbbawelvpbgrbbvhdufbbptdwwcciuezwhmiepdmibixxslvtvlaqsaisdwvuaklhqsf',
'order' => 2,
'shared' => true,
'h5p_content_id' => 59,
'thumb_url' => 'null',
'subject_id' => [
1,
2,
],
'education_level_id' => [
1,
2,
],
'author_tag_id' => [
1,
2,
],
'source_type' => 'provident',
'source_url' => 'eveniet',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (500):
{
"errors": [
"Could not create activity. Please try again later."
]
}
Example response (201):
{
"activity": {
"id": 1,
"playlist_id": 1,
"title": "Science of Golf: Why Balls Have Dimples",
"type": "h5p",
"content": "",
"shared": false,
"order": 2,
"thumb_url": null,
"subjects": [
{
"id": 4,
"name": "English",
"order": 3,
"created_at": "2022-01-06T11:59:52.000000Z",
"updated_at": "2022-01-06T12:15:10.000000Z"
},
{
"id": 1,
"name": "Math",
"order": 1,
"created_at": "2022-01-06T11:41:46.000000Z",
"updated_at": "2022-01-06T11:41:46.000000Z"
}
],
"education_levels": [
{
"id": 1,
"name": "Grade A",
"order": 5,
"created_at": "2022-01-07T13:51:38.000000Z",
"updated_at": "2022-01-07T14:07:17.000000Z"
},
{
"id": 1,
"name": "Grade B",
"order": 6,
"created_at": "2022-01-07T13:51:38.000000Z",
"updated_at": "2022-01-07T14:07:17.000000Z"
}
],
"author_tags": [
{
"id": 1,
"name": "Audio",
"order": 1,
"created_at": "2022-01-10T13:09:36.000000Z",
"updated_at": "2022-01-10T13:09:36.000000Z"
},
{
"id": 2,
"name": "Video",
"order": 2,
"created_at": "2022-01-10T13:09:44.000000Z",
"updated_at": "2022-01-10T13:20:57.000000Z"
}
],
"gcr_activity_visibility": true,
"h5p_content": {
"id": 59,
"user_id": 1,
"title": "Science of Golf: Why Balls Have Dimples",
"library_id": 40,
"parameters": "{\"interactiveVideo\":{\"video\":{\"startScreenOptions\":{\"title\":\"Interactive Video\",\"hideStartTitle\":false},\"textTracks\":{\"videoTrack\":[{\"label\":\"Subtitles\",\"kind\":\"subtitles\",\"srcLang\":\"en\"}]},\"files\":[{\"path\":\"https://youtu.be/fcjaxC-e8oY\",\"mime\":\"video/YouTube\",\"copyright\":{\"license\":\"U\"},\"aspectRatio\":\"16:9\"}]},\"assets\":{\"interactions\":[{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":58.33,\"to\":68.33},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"133bca3d-cfe9-442d-a887-8bf1e2ce682a\",\"question\":\"<p>Why do golf balls have dimples?</p>\\n\",\"answers\":[\"<p>They reduce wind resistance.</p>\\n\",\"<p>They make the ball more visually interesting.</p>\\n\",\"<p>They grip the putting green better than a smooth ball.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"ac029b43-7225-49ed-a2d7-8656037748e0\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Why do golf balls have dimples?\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Why do golf balls have dimples?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Why do golf balls have dimples?</p>\\n\"},{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":132.969,\"to\":142.969},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"308503f3-8d41-4f4f-b016-587bcce3dfac\",\"question\":\"<p>A smooth ball will have a detached airflow, which causes what?</p>\\n\",\"answers\":[\"<p>A low pressure zone, which is what causes drag.</p>\\n\",\"<p>The ball has no spin.</p>\\n\",\"<p>The ball travels higher, but for a shorter distance.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"f70c849d-9542-4f30-9116-8b60b7da708d\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Smooth Ball?\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Smooth Ball?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Smooth Ball</p>\\n\"}],\"bookmarks\":[],\"endscreens\":[{\"time\":295,\"label\":\"4:55 Submit screen\"}]},\"summary\":{\"task\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"8e2cf84f-4557-4f79-a03e-526838498a7d\",\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"8d5527ef-3601-4ad9-9e63-2782c9775173\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Untitled Summary\"}},\"displayAt\":3}},\"override\":{\"autoplay\":false,\"loop\":false,\"showBookmarksmenuOnLoad\":false,\"showRewind10\":false,\"preventSkipping\":false,\"deactivateSound\":false},\"l10n\":{\"interaction\":\"Interaction\",\"play\":\"Play\",\"pause\":\"Pause\",\"mute\":\"Mute\",\"unmute\":\"Unmute\",\"quality\":\"Video Quality\",\"captions\":\"Captions\",\"close\":\"Close\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit Fullscreen\",\"summary\":\"Open summary dialog\",\"bookmarks\":\"Bookmarks\",\"endscreen\":\"Submit screen\",\"defaultAdaptivitySeekLabel\":\"Continue\",\"continueWithVideo\":\"Continue with video\",\"playbackRate\":\"Playback Rate\",\"rewind10\":\"Rewind 10 Seconds\",\"navDisabled\":\"Navigation is disabled\",\"sndDisabled\":\"Sound is disabled\",\"requiresCompletionWarning\":\"You need to answer all the questions correctly before continuing.\",\"back\":\"Back\",\"hours\":\"Hours\",\"minutes\":\"Minutes\",\"seconds\":\"Seconds\",\"currentTime\":\"Current time:\",\"totalTime\":\"Total time:\",\"singleInteractionAnnouncement\":\"Interaction appeared:\",\"multipleInteractionsAnnouncement\":\"Multiple interactions appeared.\",\"videoPausedAnnouncement\":\"Video is paused\",\"content\":\"Content\",\"answered\":\"@answered answered\",\"endcardTitle\":\"@answered Question(s) answered\",\"endcardInformation\":\"You have answered @answered questions, click below to submit your answers.\",\"endcardInformationNoAnswers\":\"You have not answered any questions.\",\"endcardInformationMustHaveAnswer\":\"You have to answer at least one question before you can submit your answers.\",\"endcardSubmitButton\":\"Submit Answers\",\"endcardSubmitMessage\":\"Your answers have been submitted!\",\"endcardTableRowAnswered\":\"Answered questions\",\"endcardTableRowScore\":\"Score\",\"endcardAnsweredScore\":\"answered\",\"endCardTableRowSummaryWithScore\":\"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\"endCardTableRowSummaryWithoutScore\":\"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\"}}",
"filtered": "{\"interactiveVideo\":{\"video\":{\"startScreenOptions\":{\"title\":\"Interactive Video\",\"hideStartTitle\":false},\"textTracks\":{\"videoTrack\":[{\"label\":\"Subtitles\",\"kind\":\"subtitles\",\"srcLang\":\"en\"}]},\"files\":[{\"path\":\"https://youtu.be/fcjaxC-e8oY\",\"mime\":\"video/YouTube\",\"copyright\":{\"license\":\"U\"}}]},\"assets\":{\"interactions\":[{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":58.33,\"to\":68.33},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"133bca3d-cfe9-442d-a887-8bf1e2ce682a\",\"question\":\"<p>Why do golf balls have dimples?</p>\\n\",\"answers\":[\"<p>They reduce wind resistance.</p>\\n\",\"<p>They make the ball more visually interesting.</p>\\n\",\"<p>They grip the putting green better than a smooth ball.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"ac029b43-7225-49ed-a2d7-8656037748e0\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Why do golf balls have dimples?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Why do golf balls have dimples?</p>\\n\"},{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":132.969,\"to\":142.969},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"308503f3-8d41-4f4f-b016-587bcce3dfac\",\"question\":\"<p>A smooth ball will have a detached airflow, which causes what?</p>\\n\",\"answers\":[\"<p>A low pressure zone, which is what causes drag.</p>\\n\",\"<p>The ball has no spin.</p>\\n\",\"<p>The ball travels higher, but for a shorter distance.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"f70c849d-9542-4f30-9116-8b60b7da708d\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Smooth Ball?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Smooth Ball</p>\\n\"}],\"endscreens\":[{\"time\":295,\"label\":\"4:55 Submit screen\"}]},\"summary\":{\"task\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"8e2cf84f-4557-4f79-a03e-526838498a7d\",\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"8d5527ef-3601-4ad9-9e63-2782c9775173\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\"}},\"displayAt\":3}},\"override\":{\"autoplay\":false,\"loop\":false,\"showBookmarksmenuOnLoad\":false,\"showRewind10\":false,\"preventSkipping\":false,\"deactivateSound\":false},\"l10n\":{\"interaction\":\"Interaction\",\"play\":\"Play\",\"pause\":\"Pause\",\"mute\":\"Mute\",\"unmute\":\"Unmute\",\"quality\":\"Video Quality\",\"captions\":\"Captions\",\"close\":\"Close\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit Fullscreen\",\"summary\":\"Open summary dialog\",\"bookmarks\":\"Bookmarks\",\"endscreen\":\"Submit screen\",\"defaultAdaptivitySeekLabel\":\"Continue\",\"continueWithVideo\":\"Continue with video\",\"playbackRate\":\"Playback Rate\",\"rewind10\":\"Rewind 10 Seconds\",\"navDisabled\":\"Navigation is disabled\",\"sndDisabled\":\"Sound is disabled\",\"requiresCompletionWarning\":\"You need to answer all the questions correctly before continuing.\",\"back\":\"Back\",\"hours\":\"Hours\",\"minutes\":\"Minutes\",\"seconds\":\"Seconds\",\"currentTime\":\"Current time:\",\"totalTime\":\"Total time:\",\"singleInteractionAnnouncement\":\"Interaction appeared:\",\"multipleInteractionsAnnouncement\":\"Multiple interactions appeared.\",\"videoPausedAnnouncement\":\"Video is paused\",\"content\":\"Content\",\"answered\":\"@answered answered\",\"endcardTitle\":\"@answered Question(s) answered\",\"endcardInformation\":\"You have answered @answered questions, click below to submit your answers.\",\"endcardInformationNoAnswers\":\"You have not answered any questions.\",\"endcardInformationMustHaveAnswer\":\"You have to answer at least one question before you can submit your answers.\",\"endcardSubmitButton\":\"Submit Answers\",\"endcardSubmitMessage\":\"Your answers have been submitted!\",\"endcardTableRowAnswered\":\"Answered questions\",\"endcardTableRowScore\":\"Score\",\"endcardAnsweredScore\":\"answered\",\"endCardTableRowSummaryWithScore\":\"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\"endCardTableRowSummaryWithoutScore\":\"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\"}}",
"slug": "science-of-golf-why-balls-have-dimples",
"embed_type": "div",
"disable": 9,
"content_type": null,
"authors": null,
"source": null,
"year_from": null,
"year_to": null,
"license": "U",
"license_version": null,
"license_extras": null,
"author_comments": null,
"changes": null,
"default_language": null,
"library": {
"id": 40,
"created_at": null,
"updated_at": null,
"name": "H5P.InteractiveVideo",
"title": "Interactive Video",
"major_version": 1,
"minor_version": 21,
"patch_version": 9,
"runnable": 1,
"restricted": 0,
"fullscreen": 1,
"embed_types": "iframe",
"preloaded_js": "dist/h5p-interactive-video.js",
"preloaded_css": "dist/h5p-interactive-video.css",
"drop_library_css": "",
"semantics": "[\n {\n \"name\": \"interactiveVideo\",\n \"type\": \"group\",\n \"widget\": \"wizard\",\n \"label\": \"Interactive Video Editor\",\n \"importance\": \"high\",\n \"fields\": [\n {\n \"name\": \"video\",\n \"type\": \"group\",\n \"label\": \"Upload/embed video\",\n \"importance\": \"high\",\n \"fields\": [\n {\n \"name\": \"files\",\n \"type\": \"video\",\n \"label\": \"Add a video\",\n \"importance\": \"high\",\n \"description\": \"Click below to add a video you wish to use in your interactive video. You can add a video link or upload video files. It is possible to add several versions of the video with different qualities. To ensure maximum support in browsers at least add a version in webm and mp4 formats.\",\n \"extraAttributes\": [\n \"metadata\"\n ],\n \"enableCustomQualityLabel\": true\n },\n {\n \"name\": \"startScreenOptions\",\n \"type\": \"group\",\n \"label\": \"Start screen options (unsupported for YouTube videos)\",\n \"importance\": \"low\",\n \"fields\": [\n {\n \"name\": \"title\",\n \"type\": \"text\",\n \"label\": \"The title of this interactive video\",\n \"importance\": \"low\",\n \"maxLength\": 60,\n \"default\": \"Interactive Video\",\n \"description\": \"Used in summaries, statistics etc.\"\n },\n {\n \"name\": \"hideStartTitle\",\n \"type\": \"boolean\",\n \"label\": \"Hide title on video start screen\",\n \"importance\": \"low\",\n \"optional\": true,\n \"default\": false\n },\n {\n \"name\": \"shortStartDescription\",\n \"type\": \"text\",\n \"label\": \"Short description (Optional)\",\n \"importance\": \"low\",\n \"optional\": true,\n \"maxLength\": 120,\n \"description\": \"Optional. Display a short description text on the video start screen. Does not work for YouTube videos.\"\n },\n {\n \"name\": \"poster\",\n \"type\": \"image\",\n \"label\": \"Poster image\",\n \"importance\": \"low\",\n \"optional\": true,\n \"description\": \"Image displayed before the user launches the video. Does not work for YouTube Videos.\"\n }\n ]\n },\n {\n \"name\": \"textTracks\",\n \"type\": \"group\",\n \"label\": \"Text tracks (unsupported for YouTube videos)\",\n \"importance\": \"low\",\n \"fields\": [\n {\n \"name\": \"videoTrack\",\n \"type\": \"list\",\n \"label\": \"Available text tracks\",\n \"importance\": \"low\",\n \"optional\": true,\n \"entity\": \"Track\",\n \"min\": 0,\n \"defaultNum\": 1,\n \"field\": {\n \"name\": \"track\",\n \"type\": \"group\",\n \"label\": \"Track\",\n \"importance\": \"low\",\n \"expanded\": false,\n \"fields\": [\n {\n \"name\": \"label\",\n \"type\": \"text\",\n \"label\": \"Track label\",\n \"description\": \"Used if you offer multiple tracks and the user has to choose a track. For instance 'Spanish subtitles' could be the label of a Spanish subtitle track.\",\n \"importance\": \"low\",\n \"default\": \"Subtitles\",\n \"optional\": true\n },\n {\n \"name\": \"kind\",\n \"type\": \"select\",\n \"label\": \"Type of text track\",\n \"importance\": \"low\",\n \"default\": \"subtitles\",\n \"options\": [\n {\n \"value\": \"subtitles\",\n \"label\": \"Subtitles\"\n },\n {\n \"value\": \"captions\",\n \"label\": \"Captions\"\n },\n {\n \"value\": \"descriptions\",\n \"label\": \"Descriptions\"\n }\n ]\n },\n {\n \"name\": \"srcLang\",\n \"type\": \"text\",\n \"label\": \"Source language, must be defined for subtitles\",\n \"importance\": \"low\",\n \"default\": \"en\",\n \"description\": \"Must be a valid BCP 47 language tag. If 'Subtitles' is the type of text track selected, the source language of the track must be defined.\"\n },\n {\n \"name\": \"track\",\n \"type\": \"file\",\n \"label\": \"Track source (WebVTT file)\",\n \"importance\": \"low\"\n }\n ]\n }\n },\n {\n \"name\": \"defaultTrackLabel\",\n \"type\": \"text\",\n \"label\": \"Default text track\",\n \"description\": \"If left empty or not matching any of the text tracks the first text track will be used as the default.\",\n \"importance\": \"low\",\n \"optional\": true\n }\n ]\n }\n ]\n },\n {\n \"name\": \"assets\",\n \"type\": \"group\",\n \"label\": \"Add interactions\",\n \"importance\": \"high\",\n \"widget\": \"interactiveVideo\",\n \"video\": \"video/files\",\n \"poster\": \"video/startScreenOptions/poster\",\n \"fields\": [\n {\n \"name\": \"interactions\",\n \"type\": \"list\",\n \"field\": {\n \"name\": \"interaction\",\n \"type\": \"group\",\n \"fields\": [\n {\n \"name\": \"duration\",\n \"type\": \"group\",\n \"widget\": \"duration\",\n \"label\": \"Display time\",\n \"importance\": \"low\",\n \"fields\": [\n {\n \"name\": \"from\",\n \"type\": \"number\"\n },\n {\n \"name\": \"to\",\n \"type\": \"number\"\n }\n ]\n },\n {\n \"name\": \"pause\",\n \"label\": \"Pause video\",\n \"importance\": \"low\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"displayType\",\n \"label\": \"Display as\",\n \"importance\": \"low\",\n \"description\": \"<b>Button</b> is a collapsed interaction the user must press to open. <b>Poster</b> is an expanded interaction displayed directly on top of the video\",\n \"type\": \"select\",\n \"widget\": \"imageRadioButtonGroup\",\n \"options\": [\n {\n \"value\": \"button\",\n \"label\": \"Button\"\n },\n {\n \"value\": \"poster\",\n \"label\": \"Poster\"\n }\n ],\n \"default\": \"button\"\n },\n {\n \"name\": \"buttonOnMobile\",\n \"label\": \"Turn into button on small screens\",\n \"importance\": \"low\",\n \"type\": \"boolean\",\n \"default\": false\n },\n {\n \"name\": \"label\",\n \"type\": \"text\",\n \"widget\": \"html\",\n \"label\": \"Label\",\n \"importance\": \"low\",\n \"description\": \"Label displayed next to interaction icon.\",\n \"optional\": true,\n \"enterMode\": \"p\",\n \"tags\": [\n \"p\"\n ]\n },\n {\n \"name\": \"x\",\n \"type\": \"number\",\n \"importance\": \"low\",\n \"widget\": \"none\"\n },\n {\n \"name\": \"y\",\n \"type\": \"number\",\n \"importance\": \"low\",\n \"widget\": \"none\"\n },\n {\n \"name\": \"width\",\n \"type\": \"number\",\n \"widget\": \"none\",\n \"importance\": \"low\",\n \"optional\": true\n },\n {\n \"name\": \"height\",\n \"type\": \"number\",\n \"widget\": \"none\",\n \"importance\": \"low\",\n \"optional\": true\n },\n {\n \"name\": \"libraryTitle\",\n \"type\": \"text\",\n \"importance\": \"low\",\n \"optional\": true,\n \"widget\": \"none\"\n },\n {\n \"name\": \"action\",\n \"type\": \"library\",\n \"importance\": \"low\",\n \"options\": [\n \"H5P.Nil 1.0\",\n \"H5P.Text 1.1\",\n \"H5P.Table 1.1\",\n \"H5P.Link 1.3\",\n \"H5P.Image 1.1\",\n \"H5P.Summary 1.10\",\n \"H5P.SingleChoiceSet 1.11\",\n \"H5P.MultiChoice 1.14\",\n \"H5P.TrueFalse 1.6\",\n \"H5P.Blanks 1.12\",\n \"H5P.DragQuestion 1.13\",\n \"H5P.MarkTheWords 1.9\",\n \"H5P.DragText 1.8\",\n \"H5P.GoToQuestion 1.3\",\n \"H5P.IVHotspot 1.2\",\n \"H5P.Questionnaire 1.2\",\n \"H5P.FreeTextQuestion 1.0\"\n ]\n },\n {\n \"name\": \"adaptivity\",\n \"type\": \"group\",\n \"label\": \"Adaptivity\",\n \"importance\": \"low\",\n \"optional\": true,\n \"fields\": [\n {\n \"name\": \"correct\",\n \"type\": \"group\",\n \"label\": \"Action on all correct\",\n \"fields\": [\n {\n \"name\": \"seekTo\",\n \"type\": \"number\",\n \"widget\": \"timecode\",\n \"label\": \"Seek to\",\n \"description\": \"Enter timecode in the format M:SS\"\n },\n {\n \"name\": \"allowOptOut\",\n \"type\": \"boolean\",\n \"label\": \"Allow the user to opt out and continue\"\n },\n {\n \"name\": \"message\",\n \"type\": \"text\",\n \"widget\": \"html\",\n \"enterMode\": \"p\",\n \"tags\": [\n \"strong\",\n \"em\",\n \"del\",\n \"a\",\n \"code\"\n ],\n \"label\": \"Message\"\n },\n {\n \"name\": \"seekLabel\",\n \"type\": \"text\",\n \"label\": \"Label for seek button\"\n }\n ]\n },\n {\n \"name\": \"wrong\",\n \"type\": \"group\",\n \"label\": \"Action on wrong\",\n \"fields\": [\n {\n \"name\": \"seekTo\",\n \"type\": \"number\",\n \"widget\": \"timecode\",\n \"label\": \"Seek to\",\n \"description\": \"Enter timecode in the format M:SS\"\n },\n {\n \"name\": \"allowOptOut\",\n \"type\": \"boolean\",\n \"label\": \"Allow the user to opt out and continue\"\n },\n {\n \"name\": \"message\",\n \"type\": \"text\",\n \"widget\": \"html\",\n \"enterMode\": \"p\",\n \"tags\": [\n \"strong\",\n \"em\",\n \"del\",\n \"a\",\n \"code\"\n ],\n \"label\": \"Message\"\n },\n {\n \"name\": \"seekLabel\",\n \"type\": \"text\",\n \"label\": \"Label for seek button\"\n }\n ]\n },\n {\n \"name\": \"requireCompletion\",\n \"type\": \"boolean\",\n \"label\": \"Require full score for task before proceeding\",\n \"description\": \"For best functionality this option should be used in conjunction with the \\\"Prevent skipping forward in a video\\\" option of Interactive Video.\"\n }\n ]\n },\n {\n \"name\": \"visuals\",\n \"label\": \"Visuals\",\n \"importance\": \"low\",\n \"type\": \"group\",\n \"fields\": [\n {\n \"name\": \"backgroundColor\",\n \"type\": \"text\",\n \"label\": \"Background color\",\n \"widget\": \"colorSelector\",\n \"default\": \"rgb(255, 255, 255)\",\n \"spectrum\": {\n \"showInput\": true,\n \"showAlpha\": true,\n \"preferredFormat\": \"rgb\",\n \"showPalette\": true,\n \"palette\": [\n [\n \"rgba(0, 0, 0, 0)\"\n ],\n [\n \"rgb(67, 67, 67)\",\n \"rgb(102, 102, 102)\",\n \"rgb(204, 204, 204)\",\n \"rgb(217, 217, 217)\",\n \"rgb(255, 255, 255)\"\n ],\n [\n \"rgb(152, 0, 0)\",\n \"rgb(255, 0, 0)\",\n \"rgb(255, 153, 0)\",\n \"rgb(255, 255, 0)\",\n \"rgb(0, 255, 0)\",\n \"rgb(0, 255, 255)\",\n \"rgb(74, 134, 232)\",\n \"rgb(0, 0, 255)\",\n \"rgb(153, 0, 255)\",\n \"rgb(255, 0, 255)\"\n ],\n [\n \"rgb(230, 184, 175)\",\n \"rgb(244, 204, 204)\",\n \"rgb(252, 229, 205)\",\n \"rgb(255, 242, 204)\",\n \"rgb(217, 234, 211)\",\n \"rgb(208, 224, 227)\",\n \"rgb(201, 218, 248)\",\n \"rgb(207, 226, 243)\",\n \"rgb(217, 210, 233)\",\n \"rgb(234, 209, 220)\",\n \"rgb(221, 126, 107)\",\n \"rgb(234, 153, 153)\",\n \"rgb(249, 203, 156)\",\n \"rgb(255, 229, 153)\",\n \"rgb(182, 215, 168)\",\n \"rgb(162, 196, 201)\",\n \"rgb(164, 194, 244)\",\n \"rgb(159, 197, 232)\",\n \"rgb(180, 167, 214)\",\n \"rgb(213, 166, 189)\",\n \"rgb(204, 65, 37)\",\n \"rgb(224, 102, 102)\",\n \"rgb(246, 178, 107)\",\n \"rgb(255, 217, 102)\",\n \"rgb(147, 196, 125)\",\n \"rgb(118, 165, 175)\",\n \"rgb(109, 158, 235)\",\n \"rgb(111, 168, 220)\",\n \"rgb(142, 124, 195)\",\n \"rgb(194, 123, 160)\",\n \"rgb(166, 28, 0)\",\n \"rgb(204, 0, 0)\",\n \"rgb(230, 145, 56)\",\n \"rgb(241, 194, 50)\",\n \"rgb(106, 168, 79)\",\n \"rgb(69, 129, 142)\",\n \"rgb(60, 120, 216)\",\n \"rgb(61, 133, 198)\",\n \"rgb(103, 78, 167)\",\n \"rgb(166, 77, 121)\",\n \"rgb(91, 15, 0)\",\n \"rgb(102, 0, 0)\",\n \"rgb(120, 63, 4)\",\n \"rgb(127, 96, 0)\",\n \"rgb(39, 78, 19)\",\n \"rgb(12, 52, 61)\",\n \"rgb(28, 69, 135)\",\n \"rgb(7, 55, 99)\",\n \"rgb(32, 18, 77)\",\n \"rgb(76, 17, 48)\"\n ]\n ]\n }\n },\n {\n \"name\": \"boxShadow\",\n \"type\": \"boolean\",\n \"label\": \"Box shadow\",\n \"default\": true,\n \"description\": \"Adds a subtle shadow around the interaction. You might want to disable this for completely transparent interactions\"\n }\n ]\n },\n {\n \"name\": \"goto\",\n \"label\": \"Go to on click\",\n \"importance\": \"low\",\n \"type\": \"group\",\n \"fields\": [\n {\n \"name\": \"type\",\n \"label\": \"Type\",\n \"type\": \"select\",\n \"widget\": \"selectToggleFields\",\n \"options\": [\n {\n \"value\": \"timecode\",\n \"label\": \"Timecode\",\n \"hideFields\": [\n \"url\"\n ]\n },\n {\n \"value\": \"url\",\n \"label\": \"Another page (URL)\",\n \"hideFields\": [\n \"time\"\n ]\n }\n ],\n \"optional\": true\n },\n {\n \"name\": \"time\",\n \"type\": \"number\",\n \"widget\": \"timecode\",\n \"label\": \"Go To\",\n \"description\": \"The target time the user will be taken to upon pressing the hotspot. Enter timecode in the format M:SS.\",\n \"optional\": true\n },\n {\n \"name\": \"url\",\n \"type\": \"group\",\n \"label\": \"URL\",\n \"widget\": \"linkWidget\",\n \"optional\": true,\n \"fields\": [\n {\n \"name\": \"protocol\",\n \"type\": \"select\",\n \"label\": \"Protocol\",\n \"options\": [\n {\n \"value\": \"http://\",\n \"label\": \"http://\"\n },\n {\n \"value\": \"https://\",\n \"label\": \"https://\"\n },\n {\n \"value\": \"/\",\n \"label\": \"(root relative)\"\n },\n {\n \"value\": \"other\",\n \"label\": \"other\"\n }\n ],\n \"optional\": true,\n \"default\": \"http://\"\n },\n {\n \"name\": \"url\",\n \"type\": \"text\",\n \"label\": \"URL\",\n \"optional\": true\n }\n ]\n },\n {\n \"name\": \"visualize\",\n \"type\": \"boolean\",\n \"label\": \"Visualize\",\n \"description\": \"Show that interaction can be clicked by adding a border and an icon\"\n }\n ]\n }\n ]\n }\n },\n {\n \"name\": \"bookmarks\",\n \"importance\": \"low\",\n \"type\": \"list\",\n \"field\": {\n \"name\": \"bookmark\",\n \"type\": \"group\",\n \"fields\": [\n {\n \"name\": \"time\",\n \"type\": \"number\"\n },\n {\n \"name\": \"label\",\n \"type\": \"text\"\n }\n ]\n }\n },\n {\n \"name\": \"endscreens\",\n \"importance\": \"low\",\n \"type\": \"list\",\n \"field\": {\n \"name\": \"endscreen\",\n \"type\": \"group\",\n \"fields\": [\n {\n \"name\": \"time\",\n \"type\": \"number\"\n },\n {\n \"name\": \"label\",\n \"type\": \"text\"\n }\n ]\n }\n }\n ]\n },\n {\n \"name\": \"summary\",\n \"type\": \"group\",\n \"label\": \"Summary task\",\n \"importance\": \"high\",\n \"fields\": [\n {\n \"name\": \"task\",\n \"type\": \"library\",\n \"options\": [\n \"H5P.Summary 1.10\"\n ],\n \"default\": {\n \"library\": \"H5P.Summary 1.10\",\n \"params\": {}\n }\n },\n {\n \"name\": \"displayAt\",\n \"type\": \"number\",\n \"label\": \"Display at\",\n \"description\": \"Number of seconds before the video ends.\",\n \"default\": 3\n }\n ]\n }\n ]\n },\n {\n \"name\": \"override\",\n \"type\": \"group\",\n \"label\": \"Behavioural settings\",\n \"importance\": \"low\",\n \"optional\": true,\n \"fields\": [\n {\n \"name\": \"startVideoAt\",\n \"type\": \"number\",\n \"widget\": \"timecode\",\n \"label\": \"Start video at\",\n \"importance\": \"low\",\n \"optional\": true,\n \"description\": \"Enter timecode in the format M:SS\"\n },\n {\n \"name\": \"autoplay\",\n \"type\": \"boolean\",\n \"label\": \"Auto-play video\",\n \"default\": false,\n \"optional\": true,\n \"description\": \"Start playing the video automatically\"\n },\n {\n \"name\": \"loop\",\n \"type\": \"boolean\",\n \"label\": \"Loop the video\",\n \"default\": false,\n \"optional\": true,\n \"description\": \"Check if video should run in a loop\"\n },\n {\n \"name\": \"showSolutionButton\",\n \"type\": \"select\",\n \"label\": \"Override \\\"Show Solution\\\" button\",\n \"importance\": \"low\",\n \"description\": \"This option determines if the \\\"Show Solution\\\" button will be shown for all questions, disabled for all or configured for each question individually.\",\n \"optional\": true,\n \"options\": [\n {\n \"value\": \"on\",\n \"label\": \"Enabled\"\n },\n {\n \"value\": \"off\",\n \"label\": \"Disabled\"\n }\n ]\n },\n {\n \"name\": \"retryButton\",\n \"type\": \"select\",\n \"label\": \"Override \\\"Retry\\\" button\",\n \"importance\": \"low\",\n \"description\": \"This option determines if the \\\"Retry\\\" button will be shown for all questions, disabled for all or configured for each question individually.\",\n \"optional\": true,\n \"options\": [\n {\n \"value\": \"on\",\n \"label\": \"Enabled\"\n },\n {\n \"value\": \"off\",\n \"label\": \"Disabled\"\n }\n ]\n },\n {\n \"name\": \"showBookmarksmenuOnLoad\",\n \"type\": \"boolean\",\n \"label\": \"Start with bookmarks menu open\",\n \"importance\": \"low\",\n \"default\": false,\n \"description\": \"This function is not available on iPad when using YouTube as video source.\"\n },\n {\n \"name\": \"showRewind10\",\n \"type\": \"boolean\",\n \"label\": \"Show button for rewinding 10 seconds\",\n \"importance\": \"low\",\n \"default\": false\n },\n {\n \"name\": \"preventSkipping\",\n \"type\": \"boolean\",\n \"default\": false,\n \"label\": \"Prevent skipping forward in a video\",\n \"importance\": \"low\",\n \"description\": \"Enabling this options will disable user video navigation through default controls.\"\n },\n {\n \"name\": \"deactivateSound\",\n \"type\": \"boolean\",\n \"default\": false,\n \"label\": \"Deactivate sound\",\n \"importance\": \"low\",\n \"description\": \"Enabling this option will deactivate the video's sound and prevent it from being switched on.\"\n }\n ]\n },\n {\n \"name\": \"l10n\",\n \"type\": \"group\",\n \"label\": \"Localize\",\n \"importance\": \"low\",\n \"common\": true,\n \"optional\": true,\n \"fields\": [\n {\n \"name\": \"interaction\",\n \"type\": \"text\",\n \"label\": \"Interaction title\",\n \"importance\": \"low\",\n \"default\": \"Interaction\",\n \"optional\": true\n },\n {\n \"name\": \"play\",\n \"type\": \"text\",\n \"label\": \"Play title\",\n \"importance\": \"low\",\n \"default\": \"Play\",\n \"optional\": true\n },\n {\n \"name\": \"pause\",\n \"type\": \"text\",\n \"label\": \"Pause title\",\n \"importance\": \"low\",\n \"default\": \"Pause\",\n \"optional\": true\n },\n {\n \"name\": \"mute\",\n \"type\": \"text\",\n \"label\": \"Mute title\",\n \"importance\": \"low\",\n \"default\": \"Mute\",\n \"optional\": true\n },\n {\n \"name\": \"unmute\",\n \"type\": \"text\",\n \"label\": \"Unmute title\",\n \"importance\": \"low\",\n \"default\": \"Unmute\",\n \"optional\": true\n },\n {\n \"name\": \"quality\",\n \"type\": \"text\",\n \"label\": \"Video quality title\",\n \"importance\": \"low\",\n \"default\": \"Video Quality\",\n \"optional\": true\n },\n {\n \"name\": \"captions\",\n \"type\": \"text\",\n \"label\": \"Video captions title\",\n \"importance\": \"low\",\n \"default\": \"Captions\",\n \"optional\": true\n },\n {\n \"name\": \"close\",\n \"type\": \"text\",\n \"label\": \"Close button text\",\n \"importance\": \"low\",\n \"default\": \"Close\",\n \"optional\": true\n },\n {\n \"name\": \"fullscreen\",\n \"type\": \"text\",\n \"label\": \"Fullscreen title\",\n \"importance\": \"low\",\n \"default\": \"Fullscreen\",\n \"optional\": true\n },\n {\n \"name\": \"exitFullscreen\",\n \"type\": \"text\",\n \"label\": \"Exit fullscreen title\",\n \"importance\": \"low\",\n \"default\": \"Exit Fullscreen\",\n \"optional\": true\n },\n {\n \"name\": \"summary\",\n \"type\": \"text\",\n \"label\": \"Summary title\",\n \"importance\": \"low\",\n \"default\": \"Open summary dialog\",\n \"optional\": true\n },\n {\n \"name\": \"bookmarks\",\n \"type\": \"text\",\n \"label\": \"Bookmarks title\",\n \"importance\": \"low\",\n \"default\": \"Bookmarks\",\n \"optional\": true\n },\n {\n \"name\": \"endscreen\",\n \"type\": \"text\",\n \"label\": \"Submit screen title\",\n \"importance\": \"low\",\n \"default\": \"Submit screen\",\n \"optional\": true\n },\n {\n \"name\": \"defaultAdaptivitySeekLabel\",\n \"type\": \"text\",\n \"label\": \"Default label for adaptivity seek button\",\n \"importance\": \"low\",\n \"default\": \"Continue\",\n \"optional\": true\n },\n {\n \"name\": \"continueWithVideo\",\n \"type\": \"text\",\n \"label\": \"Default label for continue video button\",\n \"importance\": \"low\",\n \"default\": \"Continue with video\",\n \"optional\": true\n },\n {\n \"name\": \"playbackRate\",\n \"type\": \"text\",\n \"label\": \"Set playback rate\",\n \"importance\": \"low\",\n \"default\": \"Playback Rate\",\n \"optional\": true\n },\n {\n \"name\": \"rewind10\",\n \"type\": \"text\",\n \"label\": \"Rewind 10 Seconds\",\n \"importance\": \"low\",\n \"default\": \"Rewind 10 Seconds\",\n \"optional\": true\n },\n {\n \"name\": \"navDisabled\",\n \"type\": \"text\",\n \"label\": \"Navigation is disabled text\",\n \"importance\": \"low\",\n \"default\": \"Navigation is disabled\",\n \"optional\": true\n },\n {\n \"name\": \"sndDisabled\",\n \"type\": \"text\",\n \"label\": \"Sound is disabled text\",\n \"importance\": \"low\",\n \"default\": \"Sound is disabled\",\n \"optional\": true\n },\n {\n \"name\": \"requiresCompletionWarning\",\n \"type\": \"text\",\n \"label\": \"Warning that the user must answer the question correctly before continuing\",\n \"importance\": \"low\",\n \"default\": \"You need to answer all the questions correctly before continuing.\",\n \"optional\": true\n },\n {\n \"name\": \"back\",\n \"type\": \"text\",\n \"label\": \"Back button\",\n \"importance\": \"low\",\n \"default\": \"Back\",\n \"optional\": true\n },\n {\n \"name\": \"hours\",\n \"type\": \"text\",\n \"label\": \"Passed time hours\",\n \"importance\": \"low\",\n \"default\": \"Hours\",\n \"optional\": true\n },\n {\n \"name\": \"minutes\",\n \"type\": \"text\",\n \"label\": \"Passed time minutes\",\n \"importance\": \"low\",\n \"default\": \"Minutes\",\n \"optional\": true\n },\n {\n \"name\": \"seconds\",\n \"type\": \"text\",\n \"label\": \"Passed time seconds\",\n \"importance\": \"low\",\n \"default\": \"Seconds\",\n \"optional\": true\n },\n {\n \"name\": \"currentTime\",\n \"type\": \"text\",\n \"label\": \"Label for current time\",\n \"importance\": \"low\",\n \"default\": \"Current time:\",\n \"optional\": true\n },\n {\n \"name\": \"totalTime\",\n \"type\": \"text\",\n \"label\": \"Label for total time\",\n \"importance\": \"low\",\n \"default\": \"Total time:\",\n \"optional\": true\n },\n {\n \"name\": \"singleInteractionAnnouncement\",\n \"type\": \"text\",\n \"label\": \"Text explaining that a single interaction with a name has come into view\",\n \"importance\": \"low\",\n \"default\": \"Interaction appeared:\",\n \"optional\": true\n },\n {\n \"name\": \"multipleInteractionsAnnouncement\",\n \"type\": \"text\",\n \"label\": \"Text for explaining that multiple interactions have come into view\",\n \"importance\": \"low\",\n \"default\": \"Multiple interactions appeared.\",\n \"optional\": true\n },\n {\n \"name\": \"videoPausedAnnouncement\",\n \"type\": \"text\",\n \"label\": \"Video is paused announcement\",\n \"importance\": \"low\",\n \"default\": \"Video is paused\",\n \"optional\": true\n },\n {\n \"name\": \"content\",\n \"type\": \"text\",\n \"label\": \"Content label\",\n \"importance\": \"low\",\n \"default\": \"Content\",\n \"optional\": true\n },\n {\n \"name\": \"answered\",\n \"type\": \"text\",\n \"label\": \"Answered message (@answered will be replaced with the number of answered questions)\",\n \"importance\": \"low\",\n \"default\": \"@answered answered\",\n \"optional\": true\n },\n {\n \"name\": \"endcardTitle\",\n \"type\": \"text\",\n \"label\": \"Submit screen title\",\n \"importance\": \"low\",\n \"default\": \"@answered Question(s) answered\",\n \"description\": \"@answered will be replaced by the number of answered questions.\",\n \"optional\": true\n },\n {\n \"name\": \"endcardInformation\",\n \"type\": \"text\",\n \"label\": \"Submit screen information\",\n \"importance\": \"low\",\n \"default\": \"You have answered @answered questions, click below to submit your answers.\",\n \"description\": \"@answered will be replaced by the number of answered questions.\",\n \"optional\": true\n },\n {\n \"name\": \"endcardInformationNoAnswers\",\n \"type\": \"text\",\n \"label\": \"Submit screen information for missing answers\",\n \"importance\": \"low\",\n \"default\": \"You have not answered any questions.\",\n \"optional\": true\n },\n {\n \"name\": \"endcardInformationMustHaveAnswer\",\n \"type\": \"text\",\n \"label\": \"Submit screen information for answer needed\",\n \"importance\": \"low\",\n \"default\": \"You have to answer at least one question before you can submit your answers.\",\n \"optional\": true\n },\n {\n \"name\": \"endcardSubmitButton\",\n \"type\": \"text\",\n \"label\": \"Submit screen submit button\",\n \"importance\": \"low\",\n \"default\": \"Submit Answers\",\n \"optional\": true\n },\n {\n \"name\": \"endcardSubmitMessage\",\n \"type\": \"text\",\n \"label\": \"Submit screen submit message\",\n \"importance\": \"low\",\n \"default\": \"Your answers have been submitted!\",\n \"optional\": true\n },\n {\n \"name\": \"endcardTableRowAnswered\",\n \"type\": \"text\",\n \"label\": \"Submit screen table row title: Answered questions\",\n \"importance\": \"low\",\n \"default\": \"Answered questions\",\n \"optional\": true\n },\n {\n \"name\": \"endcardTableRowScore\",\n \"type\": \"text\",\n \"label\": \"Submit screen table row title: Score\",\n \"importance\": \"low\",\n \"default\": \"Score\",\n \"optional\": true\n },\n {\n \"name\": \"endcardAnsweredScore\",\n \"type\": \"text\",\n \"label\": \"Submit screen answered score\",\n \"importance\": \"low\",\n \"default\": \"answered\",\n \"optional\": true\n },\n {\n \"name\": \"endCardTableRowSummaryWithScore\",\n \"type\": \"text\",\n \"label\": \"Submit screen row summary including score (for readspeakers)\",\n \"importance\": \"low\",\n \"default\": \"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\n \"optional\": true\n },\n {\n \"name\": \"endCardTableRowSummaryWithoutScore\",\n \"type\": \"text\",\n \"label\": \"Submit screen row summary for no score (for readspeakers)\",\n \"importance\": \"low\",\n \"default\": \"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\",\n \"optional\": true\n }\n ]\n }\n]",
"tutorial_url": "",
"has_icon": 1
},
"created_at": "2020-09-30T20:24:58.000000Z",
"updated_at": "2020-09-30T20:24:58.000000Z"
},
"created_at": "2020-09-30T20:24:58.000000Z",
"updated_at": "2020-09-30T20:24:58.000000Z"
}
}
Received response:
Request failed with error:
Get Activity
Get the specified activity.
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/playlists/186/activities/761" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/playlists/186/activities/761"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/playlists/186/activities/761',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (400):
{
"errors": [
"Invalid playlist or activity id."
]
}
Example response (200):
{
"activity": {
"id": 1,
"playlist_id": 1,
"title": "Science of Golf: Why Balls Have Dimples",
"type": "h5p",
"content": "",
"shared": false,
"order": 2,
"thumb_url": null,
"subjects": [
{
"id": 4,
"name": "English",
"order": 3,
"created_at": "2022-01-06T11:59:52.000000Z",
"updated_at": "2022-01-06T12:15:10.000000Z"
},
{
"id": 1,
"name": "Math",
"order": 1,
"created_at": "2022-01-06T11:41:46.000000Z",
"updated_at": "2022-01-06T11:41:46.000000Z"
}
],
"education_levels": [
{
"id": 1,
"name": "Grade A",
"order": 5,
"created_at": "2022-01-07T13:51:38.000000Z",
"updated_at": "2022-01-07T14:07:17.000000Z"
},
{
"id": 1,
"name": "Grade B",
"order": 6,
"created_at": "2022-01-07T13:51:38.000000Z",
"updated_at": "2022-01-07T14:07:17.000000Z"
}
],
"author_tags": [
{
"id": 1,
"name": "Audio",
"order": 1,
"created_at": "2022-01-10T13:09:36.000000Z",
"updated_at": "2022-01-10T13:09:36.000000Z"
},
{
"id": 2,
"name": "Video",
"order": 2,
"created_at": "2022-01-10T13:09:44.000000Z",
"updated_at": "2022-01-10T13:20:57.000000Z"
}
],
"gcr_activity_visibility": true,
"h5p_content": {
"id": 59,
"user_id": 1,
"title": "Science of Golf: Why Balls Have Dimples",
"library_id": 40,
"parameters": "{\"interactiveVideo\":{\"video\":{\"startScreenOptions\":{\"title\":\"Interactive Video\",\"hideStartTitle\":false},\"textTracks\":{\"videoTrack\":[{\"label\":\"Subtitles\",\"kind\":\"subtitles\",\"srcLang\":\"en\"}]},\"files\":[{\"path\":\"https://youtu.be/fcjaxC-e8oY\",\"mime\":\"video/YouTube\",\"copyright\":{\"license\":\"U\"},\"aspectRatio\":\"16:9\"}]},\"assets\":{\"interactions\":[{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":58.33,\"to\":68.33},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"133bca3d-cfe9-442d-a887-8bf1e2ce682a\",\"question\":\"<p>Why do golf balls have dimples?</p>\\n\",\"answers\":[\"<p>They reduce wind resistance.</p>\\n\",\"<p>They make the ball more visually interesting.</p>\\n\",\"<p>They grip the putting green better than a smooth ball.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"ac029b43-7225-49ed-a2d7-8656037748e0\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Why do golf balls have dimples?\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Why do golf balls have dimples?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Why do golf balls have dimples?</p>\\n\"},{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":132.969,\"to\":142.969},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"308503f3-8d41-4f4f-b016-587bcce3dfac\",\"question\":\"<p>A smooth ball will have a detached airflow, which causes what?</p>\\n\",\"answers\":[\"<p>A low pressure zone, which is what causes drag.</p>\\n\",\"<p>The ball has no spin.</p>\\n\",\"<p>The ball travels higher, but for a shorter distance.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"f70c849d-9542-4f30-9116-8b60b7da708d\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Smooth Ball?\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Smooth Ball?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Smooth Ball</p>\\n\"}],\"bookmarks\":[],\"endscreens\":[{\"time\":295,\"label\":\"4:55 Submit screen\"}]},\"summary\":{\"task\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"8e2cf84f-4557-4f79-a03e-526838498a7d\",\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"8d5527ef-3601-4ad9-9e63-2782c9775173\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Untitled Summary\"}},\"displayAt\":3}},\"override\":{\"autoplay\":false,\"loop\":false,\"showBookmarksmenuOnLoad\":false,\"showRewind10\":false,\"preventSkipping\":false,\"deactivateSound\":false},\"l10n\":{\"interaction\":\"Interaction\",\"play\":\"Play\",\"pause\":\"Pause\",\"mute\":\"Mute\",\"unmute\":\"Unmute\",\"quality\":\"Video Quality\",\"captions\":\"Captions\",\"close\":\"Close\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit Fullscreen\",\"summary\":\"Open summary dialog\",\"bookmarks\":\"Bookmarks\",\"endscreen\":\"Submit screen\",\"defaultAdaptivitySeekLabel\":\"Continue\",\"continueWithVideo\":\"Continue with video\",\"playbackRate\":\"Playback Rate\",\"rewind10\":\"Rewind 10 Seconds\",\"navDisabled\":\"Navigation is disabled\",\"sndDisabled\":\"Sound is disabled\",\"requiresCompletionWarning\":\"You need to answer all the questions correctly before continuing.\",\"back\":\"Back\",\"hours\":\"Hours\",\"minutes\":\"Minutes\",\"seconds\":\"Seconds\",\"currentTime\":\"Current time:\",\"totalTime\":\"Total time:\",\"singleInteractionAnnouncement\":\"Interaction appeared:\",\"multipleInteractionsAnnouncement\":\"Multiple interactions appeared.\",\"videoPausedAnnouncement\":\"Video is paused\",\"content\":\"Content\",\"answered\":\"@answered answered\",\"endcardTitle\":\"@answered Question(s) answered\",\"endcardInformation\":\"You have answered @answered questions, click below to submit your answers.\",\"endcardInformationNoAnswers\":\"You have not answered any questions.\",\"endcardInformationMustHaveAnswer\":\"You have to answer at least one question before you can submit your answers.\",\"endcardSubmitButton\":\"Submit Answers\",\"endcardSubmitMessage\":\"Your answers have been submitted!\",\"endcardTableRowAnswered\":\"Answered questions\",\"endcardTableRowScore\":\"Score\",\"endcardAnsweredScore\":\"answered\",\"endCardTableRowSummaryWithScore\":\"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\"endCardTableRowSummaryWithoutScore\":\"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\"}}",
"filtered": "{\"interactiveVideo\":{\"video\":{\"startScreenOptions\":{\"title\":\"Interactive Video\",\"hideStartTitle\":false},\"textTracks\":{\"videoTrack\":[{\"label\":\"Subtitles\",\"kind\":\"subtitles\",\"srcLang\":\"en\"}]},\"files\":[{\"path\":\"https://youtu.be/fcjaxC-e8oY\",\"mime\":\"video/YouTube\",\"copyright\":{\"license\":\"U\"}}]},\"assets\":{\"interactions\":[{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":58.33,\"to\":68.33},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"133bca3d-cfe9-442d-a887-8bf1e2ce682a\",\"question\":\"<p>Why do golf balls have dimples?</p>\\n\",\"answers\":[\"<p>They reduce wind resistance.</p>\\n\",\"<p>They make the ball more visually interesting.</p>\\n\",\"<p>They grip the putting green better than a smooth ball.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"ac029b43-7225-49ed-a2d7-8656037748e0\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Why do golf balls have dimples?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Why do golf balls have dimples?</p>\\n\"},{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":132.969,\"to\":142.969},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"308503f3-8d41-4f4f-b016-587bcce3dfac\",\"question\":\"<p>A smooth ball will have a detached airflow, which causes what?</p>\\n\",\"answers\":[\"<p>A low pressure zone, which is what causes drag.</p>\\n\",\"<p>The ball has no spin.</p>\\n\",\"<p>The ball travels higher, but for a shorter distance.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"f70c849d-9542-4f30-9116-8b60b7da708d\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Smooth Ball?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Smooth Ball</p>\\n\"}],\"endscreens\":[{\"time\":295,\"label\":\"4:55 Submit screen\"}]},\"summary\":{\"task\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"8e2cf84f-4557-4f79-a03e-526838498a7d\",\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"8d5527ef-3601-4ad9-9e63-2782c9775173\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\"}},\"displayAt\":3}},\"override\":{\"autoplay\":false,\"loop\":false,\"showBookmarksmenuOnLoad\":false,\"showRewind10\":false,\"preventSkipping\":false,\"deactivateSound\":false},\"l10n\":{\"interaction\":\"Interaction\",\"play\":\"Play\",\"pause\":\"Pause\",\"mute\":\"Mute\",\"unmute\":\"Unmute\",\"quality\":\"Video Quality\",\"captions\":\"Captions\",\"close\":\"Close\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit Fullscreen\",\"summary\":\"Open summary dialog\",\"bookmarks\":\"Bookmarks\",\"endscreen\":\"Submit screen\",\"defaultAdaptivitySeekLabel\":\"Continue\",\"continueWithVideo\":\"Continue with video\",\"playbackRate\":\"Playback Rate\",\"rewind10\":\"Rewind 10 Seconds\",\"navDisabled\":\"Navigation is disabled\",\"sndDisabled\":\"Sound is disabled\",\"requiresCompletionWarning\":\"You need to answer all the questions correctly before continuing.\",\"back\":\"Back\",\"hours\":\"Hours\",\"minutes\":\"Minutes\",\"seconds\":\"Seconds\",\"currentTime\":\"Current time:\",\"totalTime\":\"Total time:\",\"singleInteractionAnnouncement\":\"Interaction appeared:\",\"multipleInteractionsAnnouncement\":\"Multiple interactions appeared.\",\"videoPausedAnnouncement\":\"Video is paused\",\"content\":\"Content\",\"answered\":\"@answered answered\",\"endcardTitle\":\"@answered Question(s) answered\",\"endcardInformation\":\"You have answered @answered questions, click below to submit your answers.\",\"endcardInformationNoAnswers\":\"You have not answered any questions.\",\"endcardInformationMustHaveAnswer\":\"You have to answer at least one question before you can submit your answers.\",\"endcardSubmitButton\":\"Submit Answers\",\"endcardSubmitMessage\":\"Your answers have been submitted!\",\"endcardTableRowAnswered\":\"Answered questions\",\"endcardTableRowScore\":\"Score\",\"endcardAnsweredScore\":\"answered\",\"endCardTableRowSummaryWithScore\":\"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\"endCardTableRowSummaryWithoutScore\":\"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\"}}",
"slug": "science-of-golf-why-balls-have-dimples",
"embed_type": "div",
"disable": 9,
"content_type": null,
"authors": null,
"source": null,
"year_from": null,
"year_to": null,
"license": "U",
"license_version": null,
"license_extras": null,
"author_comments": null,
"changes": null,
"default_language": null,
"library": {
"id": 40,
"created_at": null,
"updated_at": null,
"name": "H5P.InteractiveVideo",
"title": "Interactive Video",
"major_version": 1,
"minor_version": 21,
"patch_version": 9,
"runnable": 1,
"restricted": 0,
"fullscreen": 1,
"embed_types": "iframe",
"preloaded_js": "dist/h5p-interactive-video.js",
"preloaded_css": "dist/h5p-interactive-video.css",
"drop_library_css": "",
"semantics": "[\n {\n \"name\": \"interactiveVideo\",\n \"type\": \"group\",\n \"widget\": \"wizard\",\n \"label\": \"Interactive Video Editor\",\n \"importance\": \"high\",\n \"fields\": [\n {\n \"name\": \"video\",\n \"type\": \"group\",\n \"label\": \"Upload/embed video\",\n \"importance\": \"high\",\n \"fields\": [\n {\n \"name\": \"files\",\n \"type\": \"video\",\n \"label\": \"Add a video\",\n \"importance\": \"high\",\n \"description\": \"Click below to add a video you wish to use in your interactive video. You can add a video link or upload video files. It is possible to add several versions of the video with different qualities. To ensure maximum support in browsers at least add a version in webm and mp4 formats.\",\n \"extraAttributes\": [\n \"metadata\"\n ],\n \"enableCustomQualityLabel\": true\n },\n {\n \"name\": \"startScreenOptions\",\n \"type\": \"group\",\n \"label\": \"Start screen options (unsupported for YouTube videos)\",\n \"importance\": \"low\",\n \"fields\": [\n {\n \"name\": \"title\",\n \"type\": \"text\",\n \"label\": \"The title of this interactive video\",\n \"importance\": \"low\",\n \"maxLength\": 60,\n \"default\": \"Interactive Video\",\n \"description\": \"Used in summaries, statistics etc.\"\n },\n {\n \"name\": \"hideStartTitle\",\n \"type\": \"boolean\",\n \"label\": \"Hide title on video start screen\",\n \"importance\": \"low\",\n \"optional\": true,\n \"default\": false\n },\n {\n \"name\": \"shortStartDescription\",\n \"type\": \"text\",\n \"label\": \"Short description (Optional)\",\n \"importance\": \"low\",\n \"optional\": true,\n \"maxLength\": 120,\n \"description\": \"Optional. Display a short description text on the video start screen. Does not work for YouTube videos.\"\n },\n {\n \"name\": \"poster\",\n \"type\": \"image\",\n \"label\": \"Poster image\",\n \"importance\": \"low\",\n \"optional\": true,\n \"description\": \"Image displayed before the user launches the video. Does not work for YouTube Videos.\"\n }\n ]\n },\n {\n \"name\": \"textTracks\",\n \"type\": \"group\",\n \"label\": \"Text tracks (unsupported for YouTube videos)\",\n \"importance\": \"low\",\n \"fields\": [\n {\n \"name\": \"videoTrack\",\n \"type\": \"list\",\n \"label\": \"Available text tracks\",\n \"importance\": \"low\",\n \"optional\": true,\n \"entity\": \"Track\",\n \"min\": 0,\n \"defaultNum\": 1,\n \"field\": {\n \"name\": \"track\",\n \"type\": \"group\",\n \"label\": \"Track\",\n \"importance\": \"low\",\n \"expanded\": false,\n \"fields\": [\n {\n \"name\": \"label\",\n \"type\": \"text\",\n \"label\": \"Track label\",\n \"description\": \"Used if you offer multiple tracks and the user has to choose a track. For instance 'Spanish subtitles' could be the label of a Spanish subtitle track.\",\n \"importance\": \"low\",\n \"default\": \"Subtitles\",\n \"optional\": true\n },\n {\n \"name\": \"kind\",\n \"type\": \"select\",\n \"label\": \"Type of text track\",\n \"importance\": \"low\",\n \"default\": \"subtitles\",\n \"options\": [\n {\n \"value\": \"subtitles\",\n \"label\": \"Subtitles\"\n },\n {\n \"value\": \"captions\",\n \"label\": \"Captions\"\n },\n {\n \"value\": \"descriptions\",\n \"label\": \"Descriptions\"\n }\n ]\n },\n {\n \"name\": \"srcLang\",\n \"type\": \"text\",\n \"label\": \"Source language, must be defined for subtitles\",\n \"importance\": \"low\",\n \"default\": \"en\",\n \"description\": \"Must be a valid BCP 47 language tag. If 'Subtitles' is the type of text track selected, the source language of the track must be defined.\"\n },\n {\n \"name\": \"track\",\n \"type\": \"file\",\n \"label\": \"Track source (WebVTT file)\",\n \"importance\": \"low\"\n }\n ]\n }\n },\n {\n \"name\": \"defaultTrackLabel\",\n \"type\": \"text\",\n \"label\": \"Default text track\",\n \"description\": \"If left empty or not matching any of the text tracks the first text track will be used as the default.\",\n \"importance\": \"low\",\n \"optional\": true\n }\n ]\n }\n ]\n },\n {\n \"name\": \"assets\",\n \"type\": \"group\",\n \"label\": \"Add interactions\",\n \"importance\": \"high\",\n \"widget\": \"interactiveVideo\",\n \"video\": \"video/files\",\n \"poster\": \"video/startScreenOptions/poster\",\n \"fields\": [\n {\n \"name\": \"interactions\",\n \"type\": \"list\",\n \"field\": {\n \"name\": \"interaction\",\n \"type\": \"group\",\n \"fields\": [\n {\n \"name\": \"duration\",\n \"type\": \"group\",\n \"widget\": \"duration\",\n \"label\": \"Display time\",\n \"importance\": \"low\",\n \"fields\": [\n {\n \"name\": \"from\",\n \"type\": \"number\"\n },\n {\n \"name\": \"to\",\n \"type\": \"number\"\n }\n ]\n },\n {\n \"name\": \"pause\",\n \"label\": \"Pause video\",\n \"importance\": \"low\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"displayType\",\n \"label\": \"Display as\",\n \"importance\": \"low\",\n \"description\": \"<b>Button</b> is a collapsed interaction the user must press to open. <b>Poster</b> is an expanded interaction displayed directly on top of the video\",\n \"type\": \"select\",\n \"widget\": \"imageRadioButtonGroup\",\n \"options\": [\n {\n \"value\": \"button\",\n \"label\": \"Button\"\n },\n {\n \"value\": \"poster\",\n \"label\": \"Poster\"\n }\n ],\n \"default\": \"button\"\n },\n {\n \"name\": \"buttonOnMobile\",\n \"label\": \"Turn into button on small screens\",\n \"importance\": \"low\",\n \"type\": \"boolean\",\n \"default\": false\n },\n {\n \"name\": \"label\",\n \"type\": \"text\",\n \"widget\": \"html\",\n \"label\": \"Label\",\n \"importance\": \"low\",\n \"description\": \"Label displayed next to interaction icon.\",\n \"optional\": true,\n \"enterMode\": \"p\",\n \"tags\": [\n \"p\"\n ]\n },\n {\n \"name\": \"x\",\n \"type\": \"number\",\n \"importance\": \"low\",\n \"widget\": \"none\"\n },\n {\n \"name\": \"y\",\n \"type\": \"number\",\n \"importance\": \"low\",\n \"widget\": \"none\"\n },\n {\n \"name\": \"width\",\n \"type\": \"number\",\n \"widget\": \"none\",\n \"importance\": \"low\",\n \"optional\": true\n },\n {\n \"name\": \"height\",\n \"type\": \"number\",\n \"widget\": \"none\",\n \"importance\": \"low\",\n \"optional\": true\n },\n {\n \"name\": \"libraryTitle\",\n \"type\": \"text\",\n \"importance\": \"low\",\n \"optional\": true,\n \"widget\": \"none\"\n },\n {\n \"name\": \"action\",\n \"type\": \"library\",\n \"importance\": \"low\",\n \"options\": [\n \"H5P.Nil 1.0\",\n \"H5P.Text 1.1\",\n \"H5P.Table 1.1\",\n \"H5P.Link 1.3\",\n \"H5P.Image 1.1\",\n \"H5P.Summary 1.10\",\n \"H5P.SingleChoiceSet 1.11\",\n \"H5P.MultiChoice 1.14\",\n \"H5P.TrueFalse 1.6\",\n \"H5P.Blanks 1.12\",\n \"H5P.DragQuestion 1.13\",\n \"H5P.MarkTheWords 1.9\",\n \"H5P.DragText 1.8\",\n \"H5P.GoToQuestion 1.3\",\n \"H5P.IVHotspot 1.2\",\n \"H5P.Questionnaire 1.2\",\n \"H5P.FreeTextQuestion 1.0\"\n ]\n },\n {\n \"name\": \"adaptivity\",\n \"type\": \"group\",\n \"label\": \"Adaptivity\",\n \"importance\": \"low\",\n \"optional\": true,\n \"fields\": [\n {\n \"name\": \"correct\",\n \"type\": \"group\",\n \"label\": \"Action on all correct\",\n \"fields\": [\n {\n \"name\": \"seekTo\",\n \"type\": \"number\",\n \"widget\": \"timecode\",\n \"label\": \"Seek to\",\n \"description\": \"Enter timecode in the format M:SS\"\n },\n {\n \"name\": \"allowOptOut\",\n \"type\": \"boolean\",\n \"label\": \"Allow the user to opt out and continue\"\n },\n {\n \"name\": \"message\",\n \"type\": \"text\",\n \"widget\": \"html\",\n \"enterMode\": \"p\",\n \"tags\": [\n \"strong\",\n \"em\",\n \"del\",\n \"a\",\n \"code\"\n ],\n \"label\": \"Message\"\n },\n {\n \"name\": \"seekLabel\",\n \"type\": \"text\",\n \"label\": \"Label for seek button\"\n }\n ]\n },\n {\n \"name\": \"wrong\",\n \"type\": \"group\",\n \"label\": \"Action on wrong\",\n \"fields\": [\n {\n \"name\": \"seekTo\",\n \"type\": \"number\",\n \"widget\": \"timecode\",\n \"label\": \"Seek to\",\n \"description\": \"Enter timecode in the format M:SS\"\n },\n {\n \"name\": \"allowOptOut\",\n \"type\": \"boolean\",\n \"label\": \"Allow the user to opt out and continue\"\n },\n {\n \"name\": \"message\",\n \"type\": \"text\",\n \"widget\": \"html\",\n \"enterMode\": \"p\",\n \"tags\": [\n \"strong\",\n \"em\",\n \"del\",\n \"a\",\n \"code\"\n ],\n \"label\": \"Message\"\n },\n {\n \"name\": \"seekLabel\",\n \"type\": \"text\",\n \"label\": \"Label for seek button\"\n }\n ]\n },\n {\n \"name\": \"requireCompletion\",\n \"type\": \"boolean\",\n \"label\": \"Require full score for task before proceeding\",\n \"description\": \"For best functionality this option should be used in conjunction with the \\\"Prevent skipping forward in a video\\\" option of Interactive Video.\"\n }\n ]\n },\n {\n \"name\": \"visuals\",\n \"label\": \"Visuals\",\n \"importance\": \"low\",\n \"type\": \"group\",\n \"fields\": [\n {\n \"name\": \"backgroundColor\",\n \"type\": \"text\",\n \"label\": \"Background color\",\n \"widget\": \"colorSelector\",\n \"default\": \"rgb(255, 255, 255)\",\n \"spectrum\": {\n \"showInput\": true,\n \"showAlpha\": true,\n \"preferredFormat\": \"rgb\",\n \"showPalette\": true,\n \"palette\": [\n [\n \"rgba(0, 0, 0, 0)\"\n ],\n [\n \"rgb(67, 67, 67)\",\n \"rgb(102, 102, 102)\",\n \"rgb(204, 204, 204)\",\n \"rgb(217, 217, 217)\",\n \"rgb(255, 255, 255)\"\n ],\n [\n \"rgb(152, 0, 0)\",\n \"rgb(255, 0, 0)\",\n \"rgb(255, 153, 0)\",\n \"rgb(255, 255, 0)\",\n \"rgb(0, 255, 0)\",\n \"rgb(0, 255, 255)\",\n \"rgb(74, 134, 232)\",\n \"rgb(0, 0, 255)\",\n \"rgb(153, 0, 255)\",\n \"rgb(255, 0, 255)\"\n ],\n [\n \"rgb(230, 184, 175)\",\n \"rgb(244, 204, 204)\",\n \"rgb(252, 229, 205)\",\n \"rgb(255, 242, 204)\",\n \"rgb(217, 234, 211)\",\n \"rgb(208, 224, 227)\",\n \"rgb(201, 218, 248)\",\n \"rgb(207, 226, 243)\",\n \"rgb(217, 210, 233)\",\n \"rgb(234, 209, 220)\",\n \"rgb(221, 126, 107)\",\n \"rgb(234, 153, 153)\",\n \"rgb(249, 203, 156)\",\n \"rgb(255, 229, 153)\",\n \"rgb(182, 215, 168)\",\n \"rgb(162, 196, 201)\",\n \"rgb(164, 194, 244)\",\n \"rgb(159, 197, 232)\",\n \"rgb(180, 167, 214)\",\n \"rgb(213, 166, 189)\",\n \"rgb(204, 65, 37)\",\n \"rgb(224, 102, 102)\",\n \"rgb(246, 178, 107)\",\n \"rgb(255, 217, 102)\",\n \"rgb(147, 196, 125)\",\n \"rgb(118, 165, 175)\",\n \"rgb(109, 158, 235)\",\n \"rgb(111, 168, 220)\",\n \"rgb(142, 124, 195)\",\n \"rgb(194, 123, 160)\",\n \"rgb(166, 28, 0)\",\n \"rgb(204, 0, 0)\",\n \"rgb(230, 145, 56)\",\n \"rgb(241, 194, 50)\",\n \"rgb(106, 168, 79)\",\n \"rgb(69, 129, 142)\",\n \"rgb(60, 120, 216)\",\n \"rgb(61, 133, 198)\",\n \"rgb(103, 78, 167)\",\n \"rgb(166, 77, 121)\",\n \"rgb(91, 15, 0)\",\n \"rgb(102, 0, 0)\",\n \"rgb(120, 63, 4)\",\n \"rgb(127, 96, 0)\",\n \"rgb(39, 78, 19)\",\n \"rgb(12, 52, 61)\",\n \"rgb(28, 69, 135)\",\n \"rgb(7, 55, 99)\",\n \"rgb(32, 18, 77)\",\n \"rgb(76, 17, 48)\"\n ]\n ]\n }\n },\n {\n \"name\": \"boxShadow\",\n \"type\": \"boolean\",\n \"label\": \"Box shadow\",\n \"default\": true,\n \"description\": \"Adds a subtle shadow around the interaction. You might want to disable this for completely transparent interactions\"\n }\n ]\n },\n {\n \"name\": \"goto\",\n \"label\": \"Go to on click\",\n \"importance\": \"low\",\n \"type\": \"group\",\n \"fields\": [\n {\n \"name\": \"type\",\n \"label\": \"Type\",\n \"type\": \"select\",\n \"widget\": \"selectToggleFields\",\n \"options\": [\n {\n \"value\": \"timecode\",\n \"label\": \"Timecode\",\n \"hideFields\": [\n \"url\"\n ]\n },\n {\n \"value\": \"url\",\n \"label\": \"Another page (URL)\",\n \"hideFields\": [\n \"time\"\n ]\n }\n ],\n \"optional\": true\n },\n {\n \"name\": \"time\",\n \"type\": \"number\",\n \"widget\": \"timecode\",\n \"label\": \"Go To\",\n \"description\": \"The target time the user will be taken to upon pressing the hotspot. Enter timecode in the format M:SS.\",\n \"optional\": true\n },\n {\n \"name\": \"url\",\n \"type\": \"group\",\n \"label\": \"URL\",\n \"widget\": \"linkWidget\",\n \"optional\": true,\n \"fields\": [\n {\n \"name\": \"protocol\",\n \"type\": \"select\",\n \"label\": \"Protocol\",\n \"options\": [\n {\n \"value\": \"http://\",\n \"label\": \"http://\"\n },\n {\n \"value\": \"https://\",\n \"label\": \"https://\"\n },\n {\n \"value\": \"/\",\n \"label\": \"(root relative)\"\n },\n {\n \"value\": \"other\",\n \"label\": \"other\"\n }\n ],\n \"optional\": true,\n \"default\": \"http://\"\n },\n {\n \"name\": \"url\",\n \"type\": \"text\",\n \"label\": \"URL\",\n \"optional\": true\n }\n ]\n },\n {\n \"name\": \"visualize\",\n \"type\": \"boolean\",\n \"label\": \"Visualize\",\n \"description\": \"Show that interaction can be clicked by adding a border and an icon\"\n }\n ]\n }\n ]\n }\n },\n {\n \"name\": \"bookmarks\",\n \"importance\": \"low\",\n \"type\": \"list\",\n \"field\": {\n \"name\": \"bookmark\",\n \"type\": \"group\",\n \"fields\": [\n {\n \"name\": \"time\",\n \"type\": \"number\"\n },\n {\n \"name\": \"label\",\n \"type\": \"text\"\n }\n ]\n }\n },\n {\n \"name\": \"endscreens\",\n \"importance\": \"low\",\n \"type\": \"list\",\n \"field\": {\n \"name\": \"endscreen\",\n \"type\": \"group\",\n \"fields\": [\n {\n \"name\": \"time\",\n \"type\": \"number\"\n },\n {\n \"name\": \"label\",\n \"type\": \"text\"\n }\n ]\n }\n }\n ]\n },\n {\n \"name\": \"summary\",\n \"type\": \"group\",\n \"label\": \"Summary task\",\n \"importance\": \"high\",\n \"fields\": [\n {\n \"name\": \"task\",\n \"type\": \"library\",\n \"options\": [\n \"H5P.Summary 1.10\"\n ],\n \"default\": {\n \"library\": \"H5P.Summary 1.10\",\n \"params\": {}\n }\n },\n {\n \"name\": \"displayAt\",\n \"type\": \"number\",\n \"label\": \"Display at\",\n \"description\": \"Number of seconds before the video ends.\",\n \"default\": 3\n }\n ]\n }\n ]\n },\n {\n \"name\": \"override\",\n \"type\": \"group\",\n \"label\": \"Behavioural settings\",\n \"importance\": \"low\",\n \"optional\": true,\n \"fields\": [\n {\n \"name\": \"startVideoAt\",\n \"type\": \"number\",\n \"widget\": \"timecode\",\n \"label\": \"Start video at\",\n \"importance\": \"low\",\n \"optional\": true,\n \"description\": \"Enter timecode in the format M:SS\"\n },\n {\n \"name\": \"autoplay\",\n \"type\": \"boolean\",\n \"label\": \"Auto-play video\",\n \"default\": false,\n \"optional\": true,\n \"description\": \"Start playing the video automatically\"\n },\n {\n \"name\": \"loop\",\n \"type\": \"boolean\",\n \"label\": \"Loop the video\",\n \"default\": false,\n \"optional\": true,\n \"description\": \"Check if video should run in a loop\"\n },\n {\n \"name\": \"showSolutionButton\",\n \"type\": \"select\",\n \"label\": \"Override \\\"Show Solution\\\" button\",\n \"importance\": \"low\",\n \"description\": \"This option determines if the \\\"Show Solution\\\" button will be shown for all questions, disabled for all or configured for each question individually.\",\n \"optional\": true,\n \"options\": [\n {\n \"value\": \"on\",\n \"label\": \"Enabled\"\n },\n {\n \"value\": \"off\",\n \"label\": \"Disabled\"\n }\n ]\n },\n {\n \"name\": \"retryButton\",\n \"type\": \"select\",\n \"label\": \"Override \\\"Retry\\\" button\",\n \"importance\": \"low\",\n \"description\": \"This option determines if the \\\"Retry\\\" button will be shown for all questions, disabled for all or configured for each question individually.\",\n \"optional\": true,\n \"options\": [\n {\n \"value\": \"on\",\n \"label\": \"Enabled\"\n },\n {\n \"value\": \"off\",\n \"label\": \"Disabled\"\n }\n ]\n },\n {\n \"name\": \"showBookmarksmenuOnLoad\",\n \"type\": \"boolean\",\n \"label\": \"Start with bookmarks menu open\",\n \"importance\": \"low\",\n \"default\": false,\n \"description\": \"This function is not available on iPad when using YouTube as video source.\"\n },\n {\n \"name\": \"showRewind10\",\n \"type\": \"boolean\",\n \"label\": \"Show button for rewinding 10 seconds\",\n \"importance\": \"low\",\n \"default\": false\n },\n {\n \"name\": \"preventSkipping\",\n \"type\": \"boolean\",\n \"default\": false,\n \"label\": \"Prevent skipping forward in a video\",\n \"importance\": \"low\",\n \"description\": \"Enabling this options will disable user video navigation through default controls.\"\n },\n {\n \"name\": \"deactivateSound\",\n \"type\": \"boolean\",\n \"default\": false,\n \"label\": \"Deactivate sound\",\n \"importance\": \"low\",\n \"description\": \"Enabling this option will deactivate the video's sound and prevent it from being switched on.\"\n }\n ]\n },\n {\n \"name\": \"l10n\",\n \"type\": \"group\",\n \"label\": \"Localize\",\n \"importance\": \"low\",\n \"common\": true,\n \"optional\": true,\n \"fields\": [\n {\n \"name\": \"interaction\",\n \"type\": \"text\",\n \"label\": \"Interaction title\",\n \"importance\": \"low\",\n \"default\": \"Interaction\",\n \"optional\": true\n },\n {\n \"name\": \"play\",\n \"type\": \"text\",\n \"label\": \"Play title\",\n \"importance\": \"low\",\n \"default\": \"Play\",\n \"optional\": true\n },\n {\n \"name\": \"pause\",\n \"type\": \"text\",\n \"label\": \"Pause title\",\n \"importance\": \"low\",\n \"default\": \"Pause\",\n \"optional\": true\n },\n {\n \"name\": \"mute\",\n \"type\": \"text\",\n \"label\": \"Mute title\",\n \"importance\": \"low\",\n \"default\": \"Mute\",\n \"optional\": true\n },\n {\n \"name\": \"unmute\",\n \"type\": \"text\",\n \"label\": \"Unmute title\",\n \"importance\": \"low\",\n \"default\": \"Unmute\",\n \"optional\": true\n },\n {\n \"name\": \"quality\",\n \"type\": \"text\",\n \"label\": \"Video quality title\",\n \"importance\": \"low\",\n \"default\": \"Video Quality\",\n \"optional\": true\n },\n {\n \"name\": \"captions\",\n \"type\": \"text\",\n \"label\": \"Video captions title\",\n \"importance\": \"low\",\n \"default\": \"Captions\",\n \"optional\": true\n },\n {\n \"name\": \"close\",\n \"type\": \"text\",\n \"label\": \"Close button text\",\n \"importance\": \"low\",\n \"default\": \"Close\",\n \"optional\": true\n },\n {\n \"name\": \"fullscreen\",\n \"type\": \"text\",\n \"label\": \"Fullscreen title\",\n \"importance\": \"low\",\n \"default\": \"Fullscreen\",\n \"optional\": true\n },\n {\n \"name\": \"exitFullscreen\",\n \"type\": \"text\",\n \"label\": \"Exit fullscreen title\",\n \"importance\": \"low\",\n \"default\": \"Exit Fullscreen\",\n \"optional\": true\n },\n {\n \"name\": \"summary\",\n \"type\": \"text\",\n \"label\": \"Summary title\",\n \"importance\": \"low\",\n \"default\": \"Open summary dialog\",\n \"optional\": true\n },\n {\n \"name\": \"bookmarks\",\n \"type\": \"text\",\n \"label\": \"Bookmarks title\",\n \"importance\": \"low\",\n \"default\": \"Bookmarks\",\n \"optional\": true\n },\n {\n \"name\": \"endscreen\",\n \"type\": \"text\",\n \"label\": \"Submit screen title\",\n \"importance\": \"low\",\n \"default\": \"Submit screen\",\n \"optional\": true\n },\n {\n \"name\": \"defaultAdaptivitySeekLabel\",\n \"type\": \"text\",\n \"label\": \"Default label for adaptivity seek button\",\n \"importance\": \"low\",\n \"default\": \"Continue\",\n \"optional\": true\n },\n {\n \"name\": \"continueWithVideo\",\n \"type\": \"text\",\n \"label\": \"Default label for continue video button\",\n \"importance\": \"low\",\n \"default\": \"Continue with video\",\n \"optional\": true\n },\n {\n \"name\": \"playbackRate\",\n \"type\": \"text\",\n \"label\": \"Set playback rate\",\n \"importance\": \"low\",\n \"default\": \"Playback Rate\",\n \"optional\": true\n },\n {\n \"name\": \"rewind10\",\n \"type\": \"text\",\n \"label\": \"Rewind 10 Seconds\",\n \"importance\": \"low\",\n \"default\": \"Rewind 10 Seconds\",\n \"optional\": true\n },\n {\n \"name\": \"navDisabled\",\n \"type\": \"text\",\n \"label\": \"Navigation is disabled text\",\n \"importance\": \"low\",\n \"default\": \"Navigation is disabled\",\n \"optional\": true\n },\n {\n \"name\": \"sndDisabled\",\n \"type\": \"text\",\n \"label\": \"Sound is disabled text\",\n \"importance\": \"low\",\n \"default\": \"Sound is disabled\",\n \"optional\": true\n },\n {\n \"name\": \"requiresCompletionWarning\",\n \"type\": \"text\",\n \"label\": \"Warning that the user must answer the question correctly before continuing\",\n \"importance\": \"low\",\n \"default\": \"You need to answer all the questions correctly before continuing.\",\n \"optional\": true\n },\n {\n \"name\": \"back\",\n \"type\": \"text\",\n \"label\": \"Back button\",\n \"importance\": \"low\",\n \"default\": \"Back\",\n \"optional\": true\n },\n {\n \"name\": \"hours\",\n \"type\": \"text\",\n \"label\": \"Passed time hours\",\n \"importance\": \"low\",\n \"default\": \"Hours\",\n \"optional\": true\n },\n {\n \"name\": \"minutes\",\n \"type\": \"text\",\n \"label\": \"Passed time minutes\",\n \"importance\": \"low\",\n \"default\": \"Minutes\",\n \"optional\": true\n },\n {\n \"name\": \"seconds\",\n \"type\": \"text\",\n \"label\": \"Passed time seconds\",\n \"importance\": \"low\",\n \"default\": \"Seconds\",\n \"optional\": true\n },\n {\n \"name\": \"currentTime\",\n \"type\": \"text\",\n \"label\": \"Label for current time\",\n \"importance\": \"low\",\n \"default\": \"Current time:\",\n \"optional\": true\n },\n {\n \"name\": \"totalTime\",\n \"type\": \"text\",\n \"label\": \"Label for total time\",\n \"importance\": \"low\",\n \"default\": \"Total time:\",\n \"optional\": true\n },\n {\n \"name\": \"singleInteractionAnnouncement\",\n \"type\": \"text\",\n \"label\": \"Text explaining that a single interaction with a name has come into view\",\n \"importance\": \"low\",\n \"default\": \"Interaction appeared:\",\n \"optional\": true\n },\n {\n \"name\": \"multipleInteractionsAnnouncement\",\n \"type\": \"text\",\n \"label\": \"Text for explaining that multiple interactions have come into view\",\n \"importance\": \"low\",\n \"default\": \"Multiple interactions appeared.\",\n \"optional\": true\n },\n {\n \"name\": \"videoPausedAnnouncement\",\n \"type\": \"text\",\n \"label\": \"Video is paused announcement\",\n \"importance\": \"low\",\n \"default\": \"Video is paused\",\n \"optional\": true\n },\n {\n \"name\": \"content\",\n \"type\": \"text\",\n \"label\": \"Content label\",\n \"importance\": \"low\",\n \"default\": \"Content\",\n \"optional\": true\n },\n {\n \"name\": \"answered\",\n \"type\": \"text\",\n \"label\": \"Answered message (@answered will be replaced with the number of answered questions)\",\n \"importance\": \"low\",\n \"default\": \"@answered answered\",\n \"optional\": true\n },\n {\n \"name\": \"endcardTitle\",\n \"type\": \"text\",\n \"label\": \"Submit screen title\",\n \"importance\": \"low\",\n \"default\": \"@answered Question(s) answered\",\n \"description\": \"@answered will be replaced by the number of answered questions.\",\n \"optional\": true\n },\n {\n \"name\": \"endcardInformation\",\n \"type\": \"text\",\n \"label\": \"Submit screen information\",\n \"importance\": \"low\",\n \"default\": \"You have answered @answered questions, click below to submit your answers.\",\n \"description\": \"@answered will be replaced by the number of answered questions.\",\n \"optional\": true\n },\n {\n \"name\": \"endcardInformationNoAnswers\",\n \"type\": \"text\",\n \"label\": \"Submit screen information for missing answers\",\n \"importance\": \"low\",\n \"default\": \"You have not answered any questions.\",\n \"optional\": true\n },\n {\n \"name\": \"endcardInformationMustHaveAnswer\",\n \"type\": \"text\",\n \"label\": \"Submit screen information for answer needed\",\n \"importance\": \"low\",\n \"default\": \"You have to answer at least one question before you can submit your answers.\",\n \"optional\": true\n },\n {\n \"name\": \"endcardSubmitButton\",\n \"type\": \"text\",\n \"label\": \"Submit screen submit button\",\n \"importance\": \"low\",\n \"default\": \"Submit Answers\",\n \"optional\": true\n },\n {\n \"name\": \"endcardSubmitMessage\",\n \"type\": \"text\",\n \"label\": \"Submit screen submit message\",\n \"importance\": \"low\",\n \"default\": \"Your answers have been submitted!\",\n \"optional\": true\n },\n {\n \"name\": \"endcardTableRowAnswered\",\n \"type\": \"text\",\n \"label\": \"Submit screen table row title: Answered questions\",\n \"importance\": \"low\",\n \"default\": \"Answered questions\",\n \"optional\": true\n },\n {\n \"name\": \"endcardTableRowScore\",\n \"type\": \"text\",\n \"label\": \"Submit screen table row title: Score\",\n \"importance\": \"low\",\n \"default\": \"Score\",\n \"optional\": true\n },\n {\n \"name\": \"endcardAnsweredScore\",\n \"type\": \"text\",\n \"label\": \"Submit screen answered score\",\n \"importance\": \"low\",\n \"default\": \"answered\",\n \"optional\": true\n },\n {\n \"name\": \"endCardTableRowSummaryWithScore\",\n \"type\": \"text\",\n \"label\": \"Submit screen row summary including score (for readspeakers)\",\n \"importance\": \"low\",\n \"default\": \"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\n \"optional\": true\n },\n {\n \"name\": \"endCardTableRowSummaryWithoutScore\",\n \"type\": \"text\",\n \"label\": \"Submit screen row summary for no score (for readspeakers)\",\n \"importance\": \"low\",\n \"default\": \"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\",\n \"optional\": true\n }\n ]\n }\n]",
"tutorial_url": "",
"has_icon": 1
},
"created_at": "2020-09-30T20:24:58.000000Z",
"updated_at": "2020-09-30T20:24:58.000000Z"
},
"created_at": "2020-09-30T20:24:58.000000Z",
"updated_at": "2020-09-30T20:24:58.000000Z"
}
}
Received response:
Request failed with error:
Update Activity
Update the specified activity.
Example request:
curl --request PUT \
"http://localhost:8000/api/v1/playlists/186/activities/761" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"title\": \"Science of Golf: Why Balls Have Dimples\",
\"type\": \"h5p\",
\"content\": \"est\",
\"description\": \"khtoexukeacqrqezgbogpeypywnvrotzrcjyrrrbjlxxmhqpffhwfnljvcvdkswnxdbwdhkhqtdkgzwhxgyvorvpfcyspukglsolxqwiieixnbxpwqcmolacljzhboniwkvuqdgfactfjhtcikrxotwhgionrknvgllzihnepaekpqtukqtvqjnixkpffqtrhodidsgilgbgzikpcpjxczcbfbjegsggmjscjljcyiqerqfxdmubqjjifhjzixayfxnfvngxzkjbzphbcypcushqczgrctxncbwjqezlymcrcjuqdkgxanxxsmkpzbmcfflinjjfcoygnddjdszqehlafqwuvyfgpwhoydivjmbrhkqdplicapuwwuxeskxorptvpgcdvxwfoaqceirldbulfgbqgnztwcgxxobnd\",
\"data\": \"dolorem\",
\"order\": 2,
\"shared\": false,
\"h5p_content_id\": 59,
\"thumb_url\": \"null\",
\"subject_id\": [
1,
2
],
\"education_level_id\": [
1,
2
],
\"author_tag_id\": [
1,
2
],
\"source_type\": \"qui\",
\"source_url\": \"sint\"
}"
const url = new URL(
"http://localhost:8000/api/v1/playlists/186/activities/761"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"title": "Science of Golf: Why Balls Have Dimples",
"type": "h5p",
"content": "est",
"description": "khtoexukeacqrqezgbogpeypywnvrotzrcjyrrrbjlxxmhqpffhwfnljvcvdkswnxdbwdhkhqtdkgzwhxgyvorvpfcyspukglsolxqwiieixnbxpwqcmolacljzhboniwkvuqdgfactfjhtcikrxotwhgionrknvgllzihnepaekpqtukqtvqjnixkpffqtrhodidsgilgbgzikpcpjxczcbfbjegsggmjscjljcyiqerqfxdmubqjjifhjzixayfxnfvngxzkjbzphbcypcushqczgrctxncbwjqezlymcrcjuqdkgxanxxsmkpzbmcfflinjjfcoygnddjdszqehlafqwuvyfgpwhoydivjmbrhkqdplicapuwwuxeskxorptvpgcdvxwfoaqceirldbulfgbqgnztwcgxxobnd",
"data": "dolorem",
"order": 2,
"shared": false,
"h5p_content_id": 59,
"thumb_url": "null",
"subject_id": [
1,
2
],
"education_level_id": [
1,
2
],
"author_tag_id": [
1,
2
],
"source_type": "qui",
"source_url": "sint"
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->put(
'http://localhost:8000/api/v1/playlists/186/activities/761',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'title' => 'Science of Golf: Why Balls Have Dimples',
'type' => 'h5p',
'content' => 'est',
'description' => 'khtoexukeacqrqezgbogpeypywnvrotzrcjyrrrbjlxxmhqpffhwfnljvcvdkswnxdbwdhkhqtdkgzwhxgyvorvpfcyspukglsolxqwiieixnbxpwqcmolacljzhboniwkvuqdgfactfjhtcikrxotwhgionrknvgllzihnepaekpqtukqtvqjnixkpffqtrhodidsgilgbgzikpcpjxczcbfbjegsggmjscjljcyiqerqfxdmubqjjifhjzixayfxnfvngxzkjbzphbcypcushqczgrctxncbwjqezlymcrcjuqdkgxanxxsmkpzbmcfflinjjfcoygnddjdszqehlafqwuvyfgpwhoydivjmbrhkqdplicapuwwuxeskxorptvpgcdvxwfoaqceirldbulfgbqgnztwcgxxobnd',
'data' => 'dolorem',
'order' => 2,
'shared' => false,
'h5p_content_id' => 59,
'thumb_url' => 'null',
'subject_id' => [
1,
2,
],
'education_level_id' => [
1,
2,
],
'author_tag_id' => [
1,
2,
],
'source_type' => 'qui',
'source_url' => 'sint',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (400):
{
"errors": [
"Invalid playlist or activity id."
]
}
Example response (500):
{
"errors": [
"Failed to update activity."
]
}
Example response (200):
{
"activity": {
"id": 1,
"playlist_id": 1,
"title": "Science of Golf: Why Balls Have Dimples",
"type": "h5p",
"content": "",
"shared": false,
"order": 2,
"thumb_url": null,
"subjects": [
{
"id": 4,
"name": "English",
"order": 3,
"created_at": "2022-01-06T11:59:52.000000Z",
"updated_at": "2022-01-06T12:15:10.000000Z"
},
{
"id": 1,
"name": "Math",
"order": 1,
"created_at": "2022-01-06T11:41:46.000000Z",
"updated_at": "2022-01-06T11:41:46.000000Z"
}
],
"education_levels": [
{
"id": 1,
"name": "Grade A",
"order": 5,
"created_at": "2022-01-07T13:51:38.000000Z",
"updated_at": "2022-01-07T14:07:17.000000Z"
},
{
"id": 1,
"name": "Grade B",
"order": 6,
"created_at": "2022-01-07T13:51:38.000000Z",
"updated_at": "2022-01-07T14:07:17.000000Z"
}
],
"author_tags": [
{
"id": 1,
"name": "Audio",
"order": 1,
"created_at": "2022-01-10T13:09:36.000000Z",
"updated_at": "2022-01-10T13:09:36.000000Z"
},
{
"id": 2,
"name": "Video",
"order": 2,
"created_at": "2022-01-10T13:09:44.000000Z",
"updated_at": "2022-01-10T13:20:57.000000Z"
}
],
"gcr_activity_visibility": true,
"h5p_content": {
"id": 59,
"user_id": 1,
"title": "Science of Golf: Why Balls Have Dimples",
"library_id": 40,
"parameters": "{\"interactiveVideo\":{\"video\":{\"startScreenOptions\":{\"title\":\"Interactive Video\",\"hideStartTitle\":false},\"textTracks\":{\"videoTrack\":[{\"label\":\"Subtitles\",\"kind\":\"subtitles\",\"srcLang\":\"en\"}]},\"files\":[{\"path\":\"https://youtu.be/fcjaxC-e8oY\",\"mime\":\"video/YouTube\",\"copyright\":{\"license\":\"U\"},\"aspectRatio\":\"16:9\"}]},\"assets\":{\"interactions\":[{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":58.33,\"to\":68.33},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"133bca3d-cfe9-442d-a887-8bf1e2ce682a\",\"question\":\"<p>Why do golf balls have dimples?</p>\\n\",\"answers\":[\"<p>They reduce wind resistance.</p>\\n\",\"<p>They make the ball more visually interesting.</p>\\n\",\"<p>They grip the putting green better than a smooth ball.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"ac029b43-7225-49ed-a2d7-8656037748e0\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Why do golf balls have dimples?\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Why do golf balls have dimples?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Why do golf balls have dimples?</p>\\n\"},{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":132.969,\"to\":142.969},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"308503f3-8d41-4f4f-b016-587bcce3dfac\",\"question\":\"<p>A smooth ball will have a detached airflow, which causes what?</p>\\n\",\"answers\":[\"<p>A low pressure zone, which is what causes drag.</p>\\n\",\"<p>The ball has no spin.</p>\\n\",\"<p>The ball travels higher, but for a shorter distance.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"f70c849d-9542-4f30-9116-8b60b7da708d\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Smooth Ball?\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Smooth Ball?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Smooth Ball</p>\\n\"}],\"bookmarks\":[],\"endscreens\":[{\"time\":295,\"label\":\"4:55 Submit screen\"}]},\"summary\":{\"task\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"8e2cf84f-4557-4f79-a03e-526838498a7d\",\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"8d5527ef-3601-4ad9-9e63-2782c9775173\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Untitled Summary\"}},\"displayAt\":3}},\"override\":{\"autoplay\":false,\"loop\":false,\"showBookmarksmenuOnLoad\":false,\"showRewind10\":false,\"preventSkipping\":false,\"deactivateSound\":false},\"l10n\":{\"interaction\":\"Interaction\",\"play\":\"Play\",\"pause\":\"Pause\",\"mute\":\"Mute\",\"unmute\":\"Unmute\",\"quality\":\"Video Quality\",\"captions\":\"Captions\",\"close\":\"Close\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit Fullscreen\",\"summary\":\"Open summary dialog\",\"bookmarks\":\"Bookmarks\",\"endscreen\":\"Submit screen\",\"defaultAdaptivitySeekLabel\":\"Continue\",\"continueWithVideo\":\"Continue with video\",\"playbackRate\":\"Playback Rate\",\"rewind10\":\"Rewind 10 Seconds\",\"navDisabled\":\"Navigation is disabled\",\"sndDisabled\":\"Sound is disabled\",\"requiresCompletionWarning\":\"You need to answer all the questions correctly before continuing.\",\"back\":\"Back\",\"hours\":\"Hours\",\"minutes\":\"Minutes\",\"seconds\":\"Seconds\",\"currentTime\":\"Current time:\",\"totalTime\":\"Total time:\",\"singleInteractionAnnouncement\":\"Interaction appeared:\",\"multipleInteractionsAnnouncement\":\"Multiple interactions appeared.\",\"videoPausedAnnouncement\":\"Video is paused\",\"content\":\"Content\",\"answered\":\"@answered answered\",\"endcardTitle\":\"@answered Question(s) answered\",\"endcardInformation\":\"You have answered @answered questions, click below to submit your answers.\",\"endcardInformationNoAnswers\":\"You have not answered any questions.\",\"endcardInformationMustHaveAnswer\":\"You have to answer at least one question before you can submit your answers.\",\"endcardSubmitButton\":\"Submit Answers\",\"endcardSubmitMessage\":\"Your answers have been submitted!\",\"endcardTableRowAnswered\":\"Answered questions\",\"endcardTableRowScore\":\"Score\",\"endcardAnsweredScore\":\"answered\",\"endCardTableRowSummaryWithScore\":\"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\"endCardTableRowSummaryWithoutScore\":\"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\"}}",
"filtered": "{\"interactiveVideo\":{\"video\":{\"startScreenOptions\":{\"title\":\"Interactive Video\",\"hideStartTitle\":false},\"textTracks\":{\"videoTrack\":[{\"label\":\"Subtitles\",\"kind\":\"subtitles\",\"srcLang\":\"en\"}]},\"files\":[{\"path\":\"https://youtu.be/fcjaxC-e8oY\",\"mime\":\"video/YouTube\",\"copyright\":{\"license\":\"U\"}}]},\"assets\":{\"interactions\":[{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":58.33,\"to\":68.33},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"133bca3d-cfe9-442d-a887-8bf1e2ce682a\",\"question\":\"<p>Why do golf balls have dimples?</p>\\n\",\"answers\":[\"<p>They reduce wind resistance.</p>\\n\",\"<p>They make the ball more visually interesting.</p>\\n\",\"<p>They grip the putting green better than a smooth ball.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"ac029b43-7225-49ed-a2d7-8656037748e0\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Why do golf balls have dimples?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Why do golf balls have dimples?</p>\\n\"},{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":132.969,\"to\":142.969},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"308503f3-8d41-4f4f-b016-587bcce3dfac\",\"question\":\"<p>A smooth ball will have a detached airflow, which causes what?</p>\\n\",\"answers\":[\"<p>A low pressure zone, which is what causes drag.</p>\\n\",\"<p>The ball has no spin.</p>\\n\",\"<p>The ball travels higher, but for a shorter distance.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"f70c849d-9542-4f30-9116-8b60b7da708d\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Smooth Ball?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Smooth Ball</p>\\n\"}],\"endscreens\":[{\"time\":295,\"label\":\"4:55 Submit screen\"}]},\"summary\":{\"task\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"8e2cf84f-4557-4f79-a03e-526838498a7d\",\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"8d5527ef-3601-4ad9-9e63-2782c9775173\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\"}},\"displayAt\":3}},\"override\":{\"autoplay\":false,\"loop\":false,\"showBookmarksmenuOnLoad\":false,\"showRewind10\":false,\"preventSkipping\":false,\"deactivateSound\":false},\"l10n\":{\"interaction\":\"Interaction\",\"play\":\"Play\",\"pause\":\"Pause\",\"mute\":\"Mute\",\"unmute\":\"Unmute\",\"quality\":\"Video Quality\",\"captions\":\"Captions\",\"close\":\"Close\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit Fullscreen\",\"summary\":\"Open summary dialog\",\"bookmarks\":\"Bookmarks\",\"endscreen\":\"Submit screen\",\"defaultAdaptivitySeekLabel\":\"Continue\",\"continueWithVideo\":\"Continue with video\",\"playbackRate\":\"Playback Rate\",\"rewind10\":\"Rewind 10 Seconds\",\"navDisabled\":\"Navigation is disabled\",\"sndDisabled\":\"Sound is disabled\",\"requiresCompletionWarning\":\"You need to answer all the questions correctly before continuing.\",\"back\":\"Back\",\"hours\":\"Hours\",\"minutes\":\"Minutes\",\"seconds\":\"Seconds\",\"currentTime\":\"Current time:\",\"totalTime\":\"Total time:\",\"singleInteractionAnnouncement\":\"Interaction appeared:\",\"multipleInteractionsAnnouncement\":\"Multiple interactions appeared.\",\"videoPausedAnnouncement\":\"Video is paused\",\"content\":\"Content\",\"answered\":\"@answered answered\",\"endcardTitle\":\"@answered Question(s) answered\",\"endcardInformation\":\"You have answered @answered questions, click below to submit your answers.\",\"endcardInformationNoAnswers\":\"You have not answered any questions.\",\"endcardInformationMustHaveAnswer\":\"You have to answer at least one question before you can submit your answers.\",\"endcardSubmitButton\":\"Submit Answers\",\"endcardSubmitMessage\":\"Your answers have been submitted!\",\"endcardTableRowAnswered\":\"Answered questions\",\"endcardTableRowScore\":\"Score\",\"endcardAnsweredScore\":\"answered\",\"endCardTableRowSummaryWithScore\":\"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\"endCardTableRowSummaryWithoutScore\":\"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\"}}",
"slug": "science-of-golf-why-balls-have-dimples",
"embed_type": "div",
"disable": 9,
"content_type": null,
"authors": null,
"source": null,
"year_from": null,
"year_to": null,
"license": "U",
"license_version": null,
"license_extras": null,
"author_comments": null,
"changes": null,
"default_language": null,
"library": {
"id": 40,
"created_at": null,
"updated_at": null,
"name": "H5P.InteractiveVideo",
"title": "Interactive Video",
"major_version": 1,
"minor_version": 21,
"patch_version": 9,
"runnable": 1,
"restricted": 0,
"fullscreen": 1,
"embed_types": "iframe",
"preloaded_js": "dist/h5p-interactive-video.js",
"preloaded_css": "dist/h5p-interactive-video.css",
"drop_library_css": "",
"semantics": "[\n {\n \"name\": \"interactiveVideo\",\n \"type\": \"group\",\n \"widget\": \"wizard\",\n \"label\": \"Interactive Video Editor\",\n \"importance\": \"high\",\n \"fields\": [\n {\n \"name\": \"video\",\n \"type\": \"group\",\n \"label\": \"Upload/embed video\",\n \"importance\": \"high\",\n \"fields\": [\n {\n \"name\": \"files\",\n \"type\": \"video\",\n \"label\": \"Add a video\",\n \"importance\": \"high\",\n \"description\": \"Click below to add a video you wish to use in your interactive video. You can add a video link or upload video files. It is possible to add several versions of the video with different qualities. To ensure maximum support in browsers at least add a version in webm and mp4 formats.\",\n \"extraAttributes\": [\n \"metadata\"\n ],\n \"enableCustomQualityLabel\": true\n },\n {\n \"name\": \"startScreenOptions\",\n \"type\": \"group\",\n \"label\": \"Start screen options (unsupported for YouTube videos)\",\n \"importance\": \"low\",\n \"fields\": [\n {\n \"name\": \"title\",\n \"type\": \"text\",\n \"label\": \"The title of this interactive video\",\n \"importance\": \"low\",\n \"maxLength\": 60,\n \"default\": \"Interactive Video\",\n \"description\": \"Used in summaries, statistics etc.\"\n },\n {\n \"name\": \"hideStartTitle\",\n \"type\": \"boolean\",\n \"label\": \"Hide title on video start screen\",\n \"importance\": \"low\",\n \"optional\": true,\n \"default\": false\n },\n {\n \"name\": \"shortStartDescription\",\n \"type\": \"text\",\n \"label\": \"Short description (Optional)\",\n \"importance\": \"low\",\n \"optional\": true,\n \"maxLength\": 120,\n \"description\": \"Optional. Display a short description text on the video start screen. Does not work for YouTube videos.\"\n },\n {\n \"name\": \"poster\",\n \"type\": \"image\",\n \"label\": \"Poster image\",\n \"importance\": \"low\",\n \"optional\": true,\n \"description\": \"Image displayed before the user launches the video. Does not work for YouTube Videos.\"\n }\n ]\n },\n {\n \"name\": \"textTracks\",\n \"type\": \"group\",\n \"label\": \"Text tracks (unsupported for YouTube videos)\",\n \"importance\": \"low\",\n \"fields\": [\n {\n \"name\": \"videoTrack\",\n \"type\": \"list\",\n \"label\": \"Available text tracks\",\n \"importance\": \"low\",\n \"optional\": true,\n \"entity\": \"Track\",\n \"min\": 0,\n \"defaultNum\": 1,\n \"field\": {\n \"name\": \"track\",\n \"type\": \"group\",\n \"label\": \"Track\",\n \"importance\": \"low\",\n \"expanded\": false,\n \"fields\": [\n {\n \"name\": \"label\",\n \"type\": \"text\",\n \"label\": \"Track label\",\n \"description\": \"Used if you offer multiple tracks and the user has to choose a track. For instance 'Spanish subtitles' could be the label of a Spanish subtitle track.\",\n \"importance\": \"low\",\n \"default\": \"Subtitles\",\n \"optional\": true\n },\n {\n \"name\": \"kind\",\n \"type\": \"select\",\n \"label\": \"Type of text track\",\n \"importance\": \"low\",\n \"default\": \"subtitles\",\n \"options\": [\n {\n \"value\": \"subtitles\",\n \"label\": \"Subtitles\"\n },\n {\n \"value\": \"captions\",\n \"label\": \"Captions\"\n },\n {\n \"value\": \"descriptions\",\n \"label\": \"Descriptions\"\n }\n ]\n },\n {\n \"name\": \"srcLang\",\n \"type\": \"text\",\n \"label\": \"Source language, must be defined for subtitles\",\n \"importance\": \"low\",\n \"default\": \"en\",\n \"description\": \"Must be a valid BCP 47 language tag. If 'Subtitles' is the type of text track selected, the source language of the track must be defined.\"\n },\n {\n \"name\": \"track\",\n \"type\": \"file\",\n \"label\": \"Track source (WebVTT file)\",\n \"importance\": \"low\"\n }\n ]\n }\n },\n {\n \"name\": \"defaultTrackLabel\",\n \"type\": \"text\",\n \"label\": \"Default text track\",\n \"description\": \"If left empty or not matching any of the text tracks the first text track will be used as the default.\",\n \"importance\": \"low\",\n \"optional\": true\n }\n ]\n }\n ]\n },\n {\n \"name\": \"assets\",\n \"type\": \"group\",\n \"label\": \"Add interactions\",\n \"importance\": \"high\",\n \"widget\": \"interactiveVideo\",\n \"video\": \"video/files\",\n \"poster\": \"video/startScreenOptions/poster\",\n \"fields\": [\n {\n \"name\": \"interactions\",\n \"type\": \"list\",\n \"field\": {\n \"name\": \"interaction\",\n \"type\": \"group\",\n \"fields\": [\n {\n \"name\": \"duration\",\n \"type\": \"group\",\n \"widget\": \"duration\",\n \"label\": \"Display time\",\n \"importance\": \"low\",\n \"fields\": [\n {\n \"name\": \"from\",\n \"type\": \"number\"\n },\n {\n \"name\": \"to\",\n \"type\": \"number\"\n }\n ]\n },\n {\n \"name\": \"pause\",\n \"label\": \"Pause video\",\n \"importance\": \"low\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"displayType\",\n \"label\": \"Display as\",\n \"importance\": \"low\",\n \"description\": \"<b>Button</b> is a collapsed interaction the user must press to open. <b>Poster</b> is an expanded interaction displayed directly on top of the video\",\n \"type\": \"select\",\n \"widget\": \"imageRadioButtonGroup\",\n \"options\": [\n {\n \"value\": \"button\",\n \"label\": \"Button\"\n },\n {\n \"value\": \"poster\",\n \"label\": \"Poster\"\n }\n ],\n \"default\": \"button\"\n },\n {\n \"name\": \"buttonOnMobile\",\n \"label\": \"Turn into button on small screens\",\n \"importance\": \"low\",\n \"type\": \"boolean\",\n \"default\": false\n },\n {\n \"name\": \"label\",\n \"type\": \"text\",\n \"widget\": \"html\",\n \"label\": \"Label\",\n \"importance\": \"low\",\n \"description\": \"Label displayed next to interaction icon.\",\n \"optional\": true,\n \"enterMode\": \"p\",\n \"tags\": [\n \"p\"\n ]\n },\n {\n \"name\": \"x\",\n \"type\": \"number\",\n \"importance\": \"low\",\n \"widget\": \"none\"\n },\n {\n \"name\": \"y\",\n \"type\": \"number\",\n \"importance\": \"low\",\n \"widget\": \"none\"\n },\n {\n \"name\": \"width\",\n \"type\": \"number\",\n \"widget\": \"none\",\n \"importance\": \"low\",\n \"optional\": true\n },\n {\n \"name\": \"height\",\n \"type\": \"number\",\n \"widget\": \"none\",\n \"importance\": \"low\",\n \"optional\": true\n },\n {\n \"name\": \"libraryTitle\",\n \"type\": \"text\",\n \"importance\": \"low\",\n \"optional\": true,\n \"widget\": \"none\"\n },\n {\n \"name\": \"action\",\n \"type\": \"library\",\n \"importance\": \"low\",\n \"options\": [\n \"H5P.Nil 1.0\",\n \"H5P.Text 1.1\",\n \"H5P.Table 1.1\",\n \"H5P.Link 1.3\",\n \"H5P.Image 1.1\",\n \"H5P.Summary 1.10\",\n \"H5P.SingleChoiceSet 1.11\",\n \"H5P.MultiChoice 1.14\",\n \"H5P.TrueFalse 1.6\",\n \"H5P.Blanks 1.12\",\n \"H5P.DragQuestion 1.13\",\n \"H5P.MarkTheWords 1.9\",\n \"H5P.DragText 1.8\",\n \"H5P.GoToQuestion 1.3\",\n \"H5P.IVHotspot 1.2\",\n \"H5P.Questionnaire 1.2\",\n \"H5P.FreeTextQuestion 1.0\"\n ]\n },\n {\n \"name\": \"adaptivity\",\n \"type\": \"group\",\n \"label\": \"Adaptivity\",\n \"importance\": \"low\",\n \"optional\": true,\n \"fields\": [\n {\n \"name\": \"correct\",\n \"type\": \"group\",\n \"label\": \"Action on all correct\",\n \"fields\": [\n {\n \"name\": \"seekTo\",\n \"type\": \"number\",\n \"widget\": \"timecode\",\n \"label\": \"Seek to\",\n \"description\": \"Enter timecode in the format M:SS\"\n },\n {\n \"name\": \"allowOptOut\",\n \"type\": \"boolean\",\n \"label\": \"Allow the user to opt out and continue\"\n },\n {\n \"name\": \"message\",\n \"type\": \"text\",\n \"widget\": \"html\",\n \"enterMode\": \"p\",\n \"tags\": [\n \"strong\",\n \"em\",\n \"del\",\n \"a\",\n \"code\"\n ],\n \"label\": \"Message\"\n },\n {\n \"name\": \"seekLabel\",\n \"type\": \"text\",\n \"label\": \"Label for seek button\"\n }\n ]\n },\n {\n \"name\": \"wrong\",\n \"type\": \"group\",\n \"label\": \"Action on wrong\",\n \"fields\": [\n {\n \"name\": \"seekTo\",\n \"type\": \"number\",\n \"widget\": \"timecode\",\n \"label\": \"Seek to\",\n \"description\": \"Enter timecode in the format M:SS\"\n },\n {\n \"name\": \"allowOptOut\",\n \"type\": \"boolean\",\n \"label\": \"Allow the user to opt out and continue\"\n },\n {\n \"name\": \"message\",\n \"type\": \"text\",\n \"widget\": \"html\",\n \"enterMode\": \"p\",\n \"tags\": [\n \"strong\",\n \"em\",\n \"del\",\n \"a\",\n \"code\"\n ],\n \"label\": \"Message\"\n },\n {\n \"name\": \"seekLabel\",\n \"type\": \"text\",\n \"label\": \"Label for seek button\"\n }\n ]\n },\n {\n \"name\": \"requireCompletion\",\n \"type\": \"boolean\",\n \"label\": \"Require full score for task before proceeding\",\n \"description\": \"For best functionality this option should be used in conjunction with the \\\"Prevent skipping forward in a video\\\" option of Interactive Video.\"\n }\n ]\n },\n {\n \"name\": \"visuals\",\n \"label\": \"Visuals\",\n \"importance\": \"low\",\n \"type\": \"group\",\n \"fields\": [\n {\n \"name\": \"backgroundColor\",\n \"type\": \"text\",\n \"label\": \"Background color\",\n \"widget\": \"colorSelector\",\n \"default\": \"rgb(255, 255, 255)\",\n \"spectrum\": {\n \"showInput\": true,\n \"showAlpha\": true,\n \"preferredFormat\": \"rgb\",\n \"showPalette\": true,\n \"palette\": [\n [\n \"rgba(0, 0, 0, 0)\"\n ],\n [\n \"rgb(67, 67, 67)\",\n \"rgb(102, 102, 102)\",\n \"rgb(204, 204, 204)\",\n \"rgb(217, 217, 217)\",\n \"rgb(255, 255, 255)\"\n ],\n [\n \"rgb(152, 0, 0)\",\n \"rgb(255, 0, 0)\",\n \"rgb(255, 153, 0)\",\n \"rgb(255, 255, 0)\",\n \"rgb(0, 255, 0)\",\n \"rgb(0, 255, 255)\",\n \"rgb(74, 134, 232)\",\n \"rgb(0, 0, 255)\",\n \"rgb(153, 0, 255)\",\n \"rgb(255, 0, 255)\"\n ],\n [\n \"rgb(230, 184, 175)\",\n \"rgb(244, 204, 204)\",\n \"rgb(252, 229, 205)\",\n \"rgb(255, 242, 204)\",\n \"rgb(217, 234, 211)\",\n \"rgb(208, 224, 227)\",\n \"rgb(201, 218, 248)\",\n \"rgb(207, 226, 243)\",\n \"rgb(217, 210, 233)\",\n \"rgb(234, 209, 220)\",\n \"rgb(221, 126, 107)\",\n \"rgb(234, 153, 153)\",\n \"rgb(249, 203, 156)\",\n \"rgb(255, 229, 153)\",\n \"rgb(182, 215, 168)\",\n \"rgb(162, 196, 201)\",\n \"rgb(164, 194, 244)\",\n \"rgb(159, 197, 232)\",\n \"rgb(180, 167, 214)\",\n \"rgb(213, 166, 189)\",\n \"rgb(204, 65, 37)\",\n \"rgb(224, 102, 102)\",\n \"rgb(246, 178, 107)\",\n \"rgb(255, 217, 102)\",\n \"rgb(147, 196, 125)\",\n \"rgb(118, 165, 175)\",\n \"rgb(109, 158, 235)\",\n \"rgb(111, 168, 220)\",\n \"rgb(142, 124, 195)\",\n \"rgb(194, 123, 160)\",\n \"rgb(166, 28, 0)\",\n \"rgb(204, 0, 0)\",\n \"rgb(230, 145, 56)\",\n \"rgb(241, 194, 50)\",\n \"rgb(106, 168, 79)\",\n \"rgb(69, 129, 142)\",\n \"rgb(60, 120, 216)\",\n \"rgb(61, 133, 198)\",\n \"rgb(103, 78, 167)\",\n \"rgb(166, 77, 121)\",\n \"rgb(91, 15, 0)\",\n \"rgb(102, 0, 0)\",\n \"rgb(120, 63, 4)\",\n \"rgb(127, 96, 0)\",\n \"rgb(39, 78, 19)\",\n \"rgb(12, 52, 61)\",\n \"rgb(28, 69, 135)\",\n \"rgb(7, 55, 99)\",\n \"rgb(32, 18, 77)\",\n \"rgb(76, 17, 48)\"\n ]\n ]\n }\n },\n {\n \"name\": \"boxShadow\",\n \"type\": \"boolean\",\n \"label\": \"Box shadow\",\n \"default\": true,\n \"description\": \"Adds a subtle shadow around the interaction. You might want to disable this for completely transparent interactions\"\n }\n ]\n },\n {\n \"name\": \"goto\",\n \"label\": \"Go to on click\",\n \"importance\": \"low\",\n \"type\": \"group\",\n \"fields\": [\n {\n \"name\": \"type\",\n \"label\": \"Type\",\n \"type\": \"select\",\n \"widget\": \"selectToggleFields\",\n \"options\": [\n {\n \"value\": \"timecode\",\n \"label\": \"Timecode\",\n \"hideFields\": [\n \"url\"\n ]\n },\n {\n \"value\": \"url\",\n \"label\": \"Another page (URL)\",\n \"hideFields\": [\n \"time\"\n ]\n }\n ],\n \"optional\": true\n },\n {\n \"name\": \"time\",\n \"type\": \"number\",\n \"widget\": \"timecode\",\n \"label\": \"Go To\",\n \"description\": \"The target time the user will be taken to upon pressing the hotspot. Enter timecode in the format M:SS.\",\n \"optional\": true\n },\n {\n \"name\": \"url\",\n \"type\": \"group\",\n \"label\": \"URL\",\n \"widget\": \"linkWidget\",\n \"optional\": true,\n \"fields\": [\n {\n \"name\": \"protocol\",\n \"type\": \"select\",\n \"label\": \"Protocol\",\n \"options\": [\n {\n \"value\": \"http://\",\n \"label\": \"http://\"\n },\n {\n \"value\": \"https://\",\n \"label\": \"https://\"\n },\n {\n \"value\": \"/\",\n \"label\": \"(root relative)\"\n },\n {\n \"value\": \"other\",\n \"label\": \"other\"\n }\n ],\n \"optional\": true,\n \"default\": \"http://\"\n },\n {\n \"name\": \"url\",\n \"type\": \"text\",\n \"label\": \"URL\",\n \"optional\": true\n }\n ]\n },\n {\n \"name\": \"visualize\",\n \"type\": \"boolean\",\n \"label\": \"Visualize\",\n \"description\": \"Show that interaction can be clicked by adding a border and an icon\"\n }\n ]\n }\n ]\n }\n },\n {\n \"name\": \"bookmarks\",\n \"importance\": \"low\",\n \"type\": \"list\",\n \"field\": {\n \"name\": \"bookmark\",\n \"type\": \"group\",\n \"fields\": [\n {\n \"name\": \"time\",\n \"type\": \"number\"\n },\n {\n \"name\": \"label\",\n \"type\": \"text\"\n }\n ]\n }\n },\n {\n \"name\": \"endscreens\",\n \"importance\": \"low\",\n \"type\": \"list\",\n \"field\": {\n \"name\": \"endscreen\",\n \"type\": \"group\",\n \"fields\": [\n {\n \"name\": \"time\",\n \"type\": \"number\"\n },\n {\n \"name\": \"label\",\n \"type\": \"text\"\n }\n ]\n }\n }\n ]\n },\n {\n \"name\": \"summary\",\n \"type\": \"group\",\n \"label\": \"Summary task\",\n \"importance\": \"high\",\n \"fields\": [\n {\n \"name\": \"task\",\n \"type\": \"library\",\n \"options\": [\n \"H5P.Summary 1.10\"\n ],\n \"default\": {\n \"library\": \"H5P.Summary 1.10\",\n \"params\": {}\n }\n },\n {\n \"name\": \"displayAt\",\n \"type\": \"number\",\n \"label\": \"Display at\",\n \"description\": \"Number of seconds before the video ends.\",\n \"default\": 3\n }\n ]\n }\n ]\n },\n {\n \"name\": \"override\",\n \"type\": \"group\",\n \"label\": \"Behavioural settings\",\n \"importance\": \"low\",\n \"optional\": true,\n \"fields\": [\n {\n \"name\": \"startVideoAt\",\n \"type\": \"number\",\n \"widget\": \"timecode\",\n \"label\": \"Start video at\",\n \"importance\": \"low\",\n \"optional\": true,\n \"description\": \"Enter timecode in the format M:SS\"\n },\n {\n \"name\": \"autoplay\",\n \"type\": \"boolean\",\n \"label\": \"Auto-play video\",\n \"default\": false,\n \"optional\": true,\n \"description\": \"Start playing the video automatically\"\n },\n {\n \"name\": \"loop\",\n \"type\": \"boolean\",\n \"label\": \"Loop the video\",\n \"default\": false,\n \"optional\": true,\n \"description\": \"Check if video should run in a loop\"\n },\n {\n \"name\": \"showSolutionButton\",\n \"type\": \"select\",\n \"label\": \"Override \\\"Show Solution\\\" button\",\n \"importance\": \"low\",\n \"description\": \"This option determines if the \\\"Show Solution\\\" button will be shown for all questions, disabled for all or configured for each question individually.\",\n \"optional\": true,\n \"options\": [\n {\n \"value\": \"on\",\n \"label\": \"Enabled\"\n },\n {\n \"value\": \"off\",\n \"label\": \"Disabled\"\n }\n ]\n },\n {\n \"name\": \"retryButton\",\n \"type\": \"select\",\n \"label\": \"Override \\\"Retry\\\" button\",\n \"importance\": \"low\",\n \"description\": \"This option determines if the \\\"Retry\\\" button will be shown for all questions, disabled for all or configured for each question individually.\",\n \"optional\": true,\n \"options\": [\n {\n \"value\": \"on\",\n \"label\": \"Enabled\"\n },\n {\n \"value\": \"off\",\n \"label\": \"Disabled\"\n }\n ]\n },\n {\n \"name\": \"showBookmarksmenuOnLoad\",\n \"type\": \"boolean\",\n \"label\": \"Start with bookmarks menu open\",\n \"importance\": \"low\",\n \"default\": false,\n \"description\": \"This function is not available on iPad when using YouTube as video source.\"\n },\n {\n \"name\": \"showRewind10\",\n \"type\": \"boolean\",\n \"label\": \"Show button for rewinding 10 seconds\",\n \"importance\": \"low\",\n \"default\": false\n },\n {\n \"name\": \"preventSkipping\",\n \"type\": \"boolean\",\n \"default\": false,\n \"label\": \"Prevent skipping forward in a video\",\n \"importance\": \"low\",\n \"description\": \"Enabling this options will disable user video navigation through default controls.\"\n },\n {\n \"name\": \"deactivateSound\",\n \"type\": \"boolean\",\n \"default\": false,\n \"label\": \"Deactivate sound\",\n \"importance\": \"low\",\n \"description\": \"Enabling this option will deactivate the video's sound and prevent it from being switched on.\"\n }\n ]\n },\n {\n \"name\": \"l10n\",\n \"type\": \"group\",\n \"label\": \"Localize\",\n \"importance\": \"low\",\n \"common\": true,\n \"optional\": true,\n \"fields\": [\n {\n \"name\": \"interaction\",\n \"type\": \"text\",\n \"label\": \"Interaction title\",\n \"importance\": \"low\",\n \"default\": \"Interaction\",\n \"optional\": true\n },\n {\n \"name\": \"play\",\n \"type\": \"text\",\n \"label\": \"Play title\",\n \"importance\": \"low\",\n \"default\": \"Play\",\n \"optional\": true\n },\n {\n \"name\": \"pause\",\n \"type\": \"text\",\n \"label\": \"Pause title\",\n \"importance\": \"low\",\n \"default\": \"Pause\",\n \"optional\": true\n },\n {\n \"name\": \"mute\",\n \"type\": \"text\",\n \"label\": \"Mute title\",\n \"importance\": \"low\",\n \"default\": \"Mute\",\n \"optional\": true\n },\n {\n \"name\": \"unmute\",\n \"type\": \"text\",\n \"label\": \"Unmute title\",\n \"importance\": \"low\",\n \"default\": \"Unmute\",\n \"optional\": true\n },\n {\n \"name\": \"quality\",\n \"type\": \"text\",\n \"label\": \"Video quality title\",\n \"importance\": \"low\",\n \"default\": \"Video Quality\",\n \"optional\": true\n },\n {\n \"name\": \"captions\",\n \"type\": \"text\",\n \"label\": \"Video captions title\",\n \"importance\": \"low\",\n \"default\": \"Captions\",\n \"optional\": true\n },\n {\n \"name\": \"close\",\n \"type\": \"text\",\n \"label\": \"Close button text\",\n \"importance\": \"low\",\n \"default\": \"Close\",\n \"optional\": true\n },\n {\n \"name\": \"fullscreen\",\n \"type\": \"text\",\n \"label\": \"Fullscreen title\",\n \"importance\": \"low\",\n \"default\": \"Fullscreen\",\n \"optional\": true\n },\n {\n \"name\": \"exitFullscreen\",\n \"type\": \"text\",\n \"label\": \"Exit fullscreen title\",\n \"importance\": \"low\",\n \"default\": \"Exit Fullscreen\",\n \"optional\": true\n },\n {\n \"name\": \"summary\",\n \"type\": \"text\",\n \"label\": \"Summary title\",\n \"importance\": \"low\",\n \"default\": \"Open summary dialog\",\n \"optional\": true\n },\n {\n \"name\": \"bookmarks\",\n \"type\": \"text\",\n \"label\": \"Bookmarks title\",\n \"importance\": \"low\",\n \"default\": \"Bookmarks\",\n \"optional\": true\n },\n {\n \"name\": \"endscreen\",\n \"type\": \"text\",\n \"label\": \"Submit screen title\",\n \"importance\": \"low\",\n \"default\": \"Submit screen\",\n \"optional\": true\n },\n {\n \"name\": \"defaultAdaptivitySeekLabel\",\n \"type\": \"text\",\n \"label\": \"Default label for adaptivity seek button\",\n \"importance\": \"low\",\n \"default\": \"Continue\",\n \"optional\": true\n },\n {\n \"name\": \"continueWithVideo\",\n \"type\": \"text\",\n \"label\": \"Default label for continue video button\",\n \"importance\": \"low\",\n \"default\": \"Continue with video\",\n \"optional\": true\n },\n {\n \"name\": \"playbackRate\",\n \"type\": \"text\",\n \"label\": \"Set playback rate\",\n \"importance\": \"low\",\n \"default\": \"Playback Rate\",\n \"optional\": true\n },\n {\n \"name\": \"rewind10\",\n \"type\": \"text\",\n \"label\": \"Rewind 10 Seconds\",\n \"importance\": \"low\",\n \"default\": \"Rewind 10 Seconds\",\n \"optional\": true\n },\n {\n \"name\": \"navDisabled\",\n \"type\": \"text\",\n \"label\": \"Navigation is disabled text\",\n \"importance\": \"low\",\n \"default\": \"Navigation is disabled\",\n \"optional\": true\n },\n {\n \"name\": \"sndDisabled\",\n \"type\": \"text\",\n \"label\": \"Sound is disabled text\",\n \"importance\": \"low\",\n \"default\": \"Sound is disabled\",\n \"optional\": true\n },\n {\n \"name\": \"requiresCompletionWarning\",\n \"type\": \"text\",\n \"label\": \"Warning that the user must answer the question correctly before continuing\",\n \"importance\": \"low\",\n \"default\": \"You need to answer all the questions correctly before continuing.\",\n \"optional\": true\n },\n {\n \"name\": \"back\",\n \"type\": \"text\",\n \"label\": \"Back button\",\n \"importance\": \"low\",\n \"default\": \"Back\",\n \"optional\": true\n },\n {\n \"name\": \"hours\",\n \"type\": \"text\",\n \"label\": \"Passed time hours\",\n \"importance\": \"low\",\n \"default\": \"Hours\",\n \"optional\": true\n },\n {\n \"name\": \"minutes\",\n \"type\": \"text\",\n \"label\": \"Passed time minutes\",\n \"importance\": \"low\",\n \"default\": \"Minutes\",\n \"optional\": true\n },\n {\n \"name\": \"seconds\",\n \"type\": \"text\",\n \"label\": \"Passed time seconds\",\n \"importance\": \"low\",\n \"default\": \"Seconds\",\n \"optional\": true\n },\n {\n \"name\": \"currentTime\",\n \"type\": \"text\",\n \"label\": \"Label for current time\",\n \"importance\": \"low\",\n \"default\": \"Current time:\",\n \"optional\": true\n },\n {\n \"name\": \"totalTime\",\n \"type\": \"text\",\n \"label\": \"Label for total time\",\n \"importance\": \"low\",\n \"default\": \"Total time:\",\n \"optional\": true\n },\n {\n \"name\": \"singleInteractionAnnouncement\",\n \"type\": \"text\",\n \"label\": \"Text explaining that a single interaction with a name has come into view\",\n \"importance\": \"low\",\n \"default\": \"Interaction appeared:\",\n \"optional\": true\n },\n {\n \"name\": \"multipleInteractionsAnnouncement\",\n \"type\": \"text\",\n \"label\": \"Text for explaining that multiple interactions have come into view\",\n \"importance\": \"low\",\n \"default\": \"Multiple interactions appeared.\",\n \"optional\": true\n },\n {\n \"name\": \"videoPausedAnnouncement\",\n \"type\": \"text\",\n \"label\": \"Video is paused announcement\",\n \"importance\": \"low\",\n \"default\": \"Video is paused\",\n \"optional\": true\n },\n {\n \"name\": \"content\",\n \"type\": \"text\",\n \"label\": \"Content label\",\n \"importance\": \"low\",\n \"default\": \"Content\",\n \"optional\": true\n },\n {\n \"name\": \"answered\",\n \"type\": \"text\",\n \"label\": \"Answered message (@answered will be replaced with the number of answered questions)\",\n \"importance\": \"low\",\n \"default\": \"@answered answered\",\n \"optional\": true\n },\n {\n \"name\": \"endcardTitle\",\n \"type\": \"text\",\n \"label\": \"Submit screen title\",\n \"importance\": \"low\",\n \"default\": \"@answered Question(s) answered\",\n \"description\": \"@answered will be replaced by the number of answered questions.\",\n \"optional\": true\n },\n {\n \"name\": \"endcardInformation\",\n \"type\": \"text\",\n \"label\": \"Submit screen information\",\n \"importance\": \"low\",\n \"default\": \"You have answered @answered questions, click below to submit your answers.\",\n \"description\": \"@answered will be replaced by the number of answered questions.\",\n \"optional\": true\n },\n {\n \"name\": \"endcardInformationNoAnswers\",\n \"type\": \"text\",\n \"label\": \"Submit screen information for missing answers\",\n \"importance\": \"low\",\n \"default\": \"You have not answered any questions.\",\n \"optional\": true\n },\n {\n \"name\": \"endcardInformationMustHaveAnswer\",\n \"type\": \"text\",\n \"label\": \"Submit screen information for answer needed\",\n \"importance\": \"low\",\n \"default\": \"You have to answer at least one question before you can submit your answers.\",\n \"optional\": true\n },\n {\n \"name\": \"endcardSubmitButton\",\n \"type\": \"text\",\n \"label\": \"Submit screen submit button\",\n \"importance\": \"low\",\n \"default\": \"Submit Answers\",\n \"optional\": true\n },\n {\n \"name\": \"endcardSubmitMessage\",\n \"type\": \"text\",\n \"label\": \"Submit screen submit message\",\n \"importance\": \"low\",\n \"default\": \"Your answers have been submitted!\",\n \"optional\": true\n },\n {\n \"name\": \"endcardTableRowAnswered\",\n \"type\": \"text\",\n \"label\": \"Submit screen table row title: Answered questions\",\n \"importance\": \"low\",\n \"default\": \"Answered questions\",\n \"optional\": true\n },\n {\n \"name\": \"endcardTableRowScore\",\n \"type\": \"text\",\n \"label\": \"Submit screen table row title: Score\",\n \"importance\": \"low\",\n \"default\": \"Score\",\n \"optional\": true\n },\n {\n \"name\": \"endcardAnsweredScore\",\n \"type\": \"text\",\n \"label\": \"Submit screen answered score\",\n \"importance\": \"low\",\n \"default\": \"answered\",\n \"optional\": true\n },\n {\n \"name\": \"endCardTableRowSummaryWithScore\",\n \"type\": \"text\",\n \"label\": \"Submit screen row summary including score (for readspeakers)\",\n \"importance\": \"low\",\n \"default\": \"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\n \"optional\": true\n },\n {\n \"name\": \"endCardTableRowSummaryWithoutScore\",\n \"type\": \"text\",\n \"label\": \"Submit screen row summary for no score (for readspeakers)\",\n \"importance\": \"low\",\n \"default\": \"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\",\n \"optional\": true\n }\n ]\n }\n]",
"tutorial_url": "",
"has_icon": 1
},
"created_at": "2020-09-30T20:24:58.000000Z",
"updated_at": "2020-09-30T20:24:58.000000Z"
},
"created_at": "2020-09-30T20:24:58.000000Z",
"updated_at": "2020-09-30T20:24:58.000000Z"
}
}
Received response:
Request failed with error:
Remove Activity
Remove the specified activity.
Example request:
curl --request DELETE \
"http://localhost:8000/api/v1/playlists/186/activities/761" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/playlists/186/activities/761"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->delete(
'http://localhost:8000/api/v1/playlists/186/activities/761',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "Activity has been deleted successfully."
}
Example response (500):
{
"errors": [
"Failed to delete activity."
]
}
Received response:
Request failed with error:
Get Stand Alone Activities
Get a list of stand alone activities
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/suborganizations/1/stand-alone-activity" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/suborganizations/1/stand-alone-activity"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/suborganizations/1/stand-alone-activity',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"activities": [
{
"id": 1,
"playlist_id": 1,
"title": "Science of Golf: Why Balls Have Dimples",
"type": "h5p",
"content": "",
"shared": false,
"order": 2,
"thumb_url": null,
"subjects": [
{
"id": 4,
"name": "English",
"order": 3,
"created_at": "2022-01-06T11:59:52.000000Z",
"updated_at": "2022-01-06T12:15:10.000000Z"
},
{
"id": 1,
"name": "Math",
"order": 1,
"created_at": "2022-01-06T11:41:46.000000Z",
"updated_at": "2022-01-06T11:41:46.000000Z"
}
],
"education_levels": [
{
"id": 1,
"name": "Grade A",
"order": 5,
"created_at": "2022-01-07T13:51:38.000000Z",
"updated_at": "2022-01-07T14:07:17.000000Z"
},
{
"id": 1,
"name": "Grade B",
"order": 6,
"created_at": "2022-01-07T13:51:38.000000Z",
"updated_at": "2022-01-07T14:07:17.000000Z"
}
],
"author_tags": [
{
"id": 1,
"name": "Audio",
"order": 1,
"created_at": "2022-01-10T13:09:36.000000Z",
"updated_at": "2022-01-10T13:09:36.000000Z"
},
{
"id": 2,
"name": "Video",
"order": 2,
"created_at": "2022-01-10T13:09:44.000000Z",
"updated_at": "2022-01-10T13:20:57.000000Z"
}
],
"gcr_activity_visibility": true,
"h5p_content": {
"id": 59,
"user_id": 1,
"title": "Science of Golf: Why Balls Have Dimples",
"library_id": 40,
"parameters": "{\"interactiveVideo\":{\"video\":{\"startScreenOptions\":{\"title\":\"Interactive Video\",\"hideStartTitle\":false},\"textTracks\":{\"videoTrack\":[{\"label\":\"Subtitles\",\"kind\":\"subtitles\",\"srcLang\":\"en\"}]},\"files\":[{\"path\":\"https://youtu.be/fcjaxC-e8oY\",\"mime\":\"video/YouTube\",\"copyright\":{\"license\":\"U\"},\"aspectRatio\":\"16:9\"}]},\"assets\":{\"interactions\":[{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":58.33,\"to\":68.33},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"133bca3d-cfe9-442d-a887-8bf1e2ce682a\",\"question\":\"<p>Why do golf balls have dimples?</p>\\n\",\"answers\":[\"<p>They reduce wind resistance.</p>\\n\",\"<p>They make the ball more visually interesting.</p>\\n\",\"<p>They grip the putting green better than a smooth ball.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"ac029b43-7225-49ed-a2d7-8656037748e0\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Why do golf balls have dimples?\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Why do golf balls have dimples?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Why do golf balls have dimples?</p>\\n\"},{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":132.969,\"to\":142.969},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"308503f3-8d41-4f4f-b016-587bcce3dfac\",\"question\":\"<p>A smooth ball will have a detached airflow, which causes what?</p>\\n\",\"answers\":[\"<p>A low pressure zone, which is what causes drag.</p>\\n\",\"<p>The ball has no spin.</p>\\n\",\"<p>The ball travels higher, but for a shorter distance.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"f70c849d-9542-4f30-9116-8b60b7da708d\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Smooth Ball?\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Smooth Ball?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Smooth Ball</p>\\n\"}],\"bookmarks\":[],\"endscreens\":[{\"time\":295,\"label\":\"4:55 Submit screen\"}]},\"summary\":{\"task\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"8e2cf84f-4557-4f79-a03e-526838498a7d\",\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"8d5527ef-3601-4ad9-9e63-2782c9775173\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Untitled Summary\"}},\"displayAt\":3}},\"override\":{\"autoplay\":false,\"loop\":false,\"showBookmarksmenuOnLoad\":false,\"showRewind10\":false,\"preventSkipping\":false,\"deactivateSound\":false},\"l10n\":{\"interaction\":\"Interaction\",\"play\":\"Play\",\"pause\":\"Pause\",\"mute\":\"Mute\",\"unmute\":\"Unmute\",\"quality\":\"Video Quality\",\"captions\":\"Captions\",\"close\":\"Close\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit Fullscreen\",\"summary\":\"Open summary dialog\",\"bookmarks\":\"Bookmarks\",\"endscreen\":\"Submit screen\",\"defaultAdaptivitySeekLabel\":\"Continue\",\"continueWithVideo\":\"Continue with video\",\"playbackRate\":\"Playback Rate\",\"rewind10\":\"Rewind 10 Seconds\",\"navDisabled\":\"Navigation is disabled\",\"sndDisabled\":\"Sound is disabled\",\"requiresCompletionWarning\":\"You need to answer all the questions correctly before continuing.\",\"back\":\"Back\",\"hours\":\"Hours\",\"minutes\":\"Minutes\",\"seconds\":\"Seconds\",\"currentTime\":\"Current time:\",\"totalTime\":\"Total time:\",\"singleInteractionAnnouncement\":\"Interaction appeared:\",\"multipleInteractionsAnnouncement\":\"Multiple interactions appeared.\",\"videoPausedAnnouncement\":\"Video is paused\",\"content\":\"Content\",\"answered\":\"@answered answered\",\"endcardTitle\":\"@answered Question(s) answered\",\"endcardInformation\":\"You have answered @answered questions, click below to submit your answers.\",\"endcardInformationNoAnswers\":\"You have not answered any questions.\",\"endcardInformationMustHaveAnswer\":\"You have to answer at least one question before you can submit your answers.\",\"endcardSubmitButton\":\"Submit Answers\",\"endcardSubmitMessage\":\"Your answers have been submitted!\",\"endcardTableRowAnswered\":\"Answered questions\",\"endcardTableRowScore\":\"Score\",\"endcardAnsweredScore\":\"answered\",\"endCardTableRowSummaryWithScore\":\"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\"endCardTableRowSummaryWithoutScore\":\"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\"}}",
"filtered": "{\"interactiveVideo\":{\"video\":{\"startScreenOptions\":{\"title\":\"Interactive Video\",\"hideStartTitle\":false},\"textTracks\":{\"videoTrack\":[{\"label\":\"Subtitles\",\"kind\":\"subtitles\",\"srcLang\":\"en\"}]},\"files\":[{\"path\":\"https://youtu.be/fcjaxC-e8oY\",\"mime\":\"video/YouTube\",\"copyright\":{\"license\":\"U\"}}]},\"assets\":{\"interactions\":[{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":58.33,\"to\":68.33},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"133bca3d-cfe9-442d-a887-8bf1e2ce682a\",\"question\":\"<p>Why do golf balls have dimples?</p>\\n\",\"answers\":[\"<p>They reduce wind resistance.</p>\\n\",\"<p>They make the ball more visually interesting.</p>\\n\",\"<p>They grip the putting green better than a smooth ball.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"ac029b43-7225-49ed-a2d7-8656037748e0\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Why do golf balls have dimples?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Why do golf balls have dimples?</p>\\n\"},{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":132.969,\"to\":142.969},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"308503f3-8d41-4f4f-b016-587bcce3dfac\",\"question\":\"<p>A smooth ball will have a detached airflow, which causes what?</p>\\n\",\"answers\":[\"<p>A low pressure zone, which is what causes drag.</p>\\n\",\"<p>The ball has no spin.</p>\\n\",\"<p>The ball travels higher, but for a shorter distance.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"f70c849d-9542-4f30-9116-8b60b7da708d\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Smooth Ball?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Smooth Ball</p>\\n\"}],\"endscreens\":[{\"time\":295,\"label\":\"4:55 Submit screen\"}]},\"summary\":{\"task\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"8e2cf84f-4557-4f79-a03e-526838498a7d\",\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"8d5527ef-3601-4ad9-9e63-2782c9775173\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\"}},\"displayAt\":3}},\"override\":{\"autoplay\":false,\"loop\":false,\"showBookmarksmenuOnLoad\":false,\"showRewind10\":false,\"preventSkipping\":false,\"deactivateSound\":false},\"l10n\":{\"interaction\":\"Interaction\",\"play\":\"Play\",\"pause\":\"Pause\",\"mute\":\"Mute\",\"unmute\":\"Unmute\",\"quality\":\"Video Quality\",\"captions\":\"Captions\",\"close\":\"Close\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit Fullscreen\",\"summary\":\"Open summary dialog\",\"bookmarks\":\"Bookmarks\",\"endscreen\":\"Submit screen\",\"defaultAdaptivitySeekLabel\":\"Continue\",\"continueWithVideo\":\"Continue with video\",\"playbackRate\":\"Playback Rate\",\"rewind10\":\"Rewind 10 Seconds\",\"navDisabled\":\"Navigation is disabled\",\"sndDisabled\":\"Sound is disabled\",\"requiresCompletionWarning\":\"You need to answer all the questions correctly before continuing.\",\"back\":\"Back\",\"hours\":\"Hours\",\"minutes\":\"Minutes\",\"seconds\":\"Seconds\",\"currentTime\":\"Current time:\",\"totalTime\":\"Total time:\",\"singleInteractionAnnouncement\":\"Interaction appeared:\",\"multipleInteractionsAnnouncement\":\"Multiple interactions appeared.\",\"videoPausedAnnouncement\":\"Video is paused\",\"content\":\"Content\",\"answered\":\"@answered answered\",\"endcardTitle\":\"@answered Question(s) answered\",\"endcardInformation\":\"You have answered @answered questions, click below to submit your answers.\",\"endcardInformationNoAnswers\":\"You have not answered any questions.\",\"endcardInformationMustHaveAnswer\":\"You have to answer at least one question before you can submit your answers.\",\"endcardSubmitButton\":\"Submit Answers\",\"endcardSubmitMessage\":\"Your answers have been submitted!\",\"endcardTableRowAnswered\":\"Answered questions\",\"endcardTableRowScore\":\"Score\",\"endcardAnsweredScore\":\"answered\",\"endCardTableRowSummaryWithScore\":\"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\"endCardTableRowSummaryWithoutScore\":\"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\"}}",
"slug": "science-of-golf-why-balls-have-dimples",
"embed_type": "div",
"disable": 9,
"content_type": null,
"authors": null,
"source": null,
"year_from": null,
"year_to": null,
"license": "U",
"license_version": null,
"license_extras": null,
"author_comments": null,
"changes": null,
"default_language": null,
"library": {
"id": 40,
"created_at": null,
"updated_at": null,
"name": "H5P.InteractiveVideo",
"title": "Interactive Video",
"major_version": 1,
"minor_version": 21,
"patch_version": 9,
"runnable": 1,
"restricted": 0,
"fullscreen": 1,
"embed_types": "iframe",
"preloaded_js": "dist/h5p-interactive-video.js",
"preloaded_css": "dist/h5p-interactive-video.css",
"drop_library_css": "",
"semantics": "[\n {\n \"name\": \"interactiveVideo\",\n \"type\": \"group\",\n \"widget\": \"wizard\",\n \"label\": \"Interactive Video Editor\",\n \"importance\": \"high\",\n \"fields\": [\n {\n \"name\": \"video\",\n \"type\": \"group\",\n \"label\": \"Upload/embed video\",\n \"importance\": \"high\",\n \"fields\": [\n {\n \"name\": \"files\",\n \"type\": \"video\",\n \"label\": \"Add a video\",\n \"importance\": \"high\",\n \"description\": \"Click below to add a video you wish to use in your interactive video. You can add a video link or upload video files. It is possible to add several versions of the video with different qualities. To ensure maximum support in browsers at least add a version in webm and mp4 formats.\",\n \"extraAttributes\": [\n \"metadata\"\n ],\n \"enableCustomQualityLabel\": true\n },\n {\n \"name\": \"startScreenOptions\",\n \"type\": \"group\",\n \"label\": \"Start screen options (unsupported for YouTube videos)\",\n \"importance\": \"low\",\n \"fields\": [\n {\n \"name\": \"title\",\n \"type\": \"text\",\n \"label\": \"The title of this interactive video\",\n \"importance\": \"low\",\n \"maxLength\": 60,\n \"default\": \"Interactive Video\",\n \"description\": \"Used in summaries, statistics etc.\"\n },\n {\n \"name\": \"hideStartTitle\",\n \"type\": \"boolean\",\n \"label\": \"Hide title on video start screen\",\n \"importance\": \"low\",\n \"optional\": true,\n \"default\": false\n },\n {\n \"name\": \"shortStartDescription\",\n \"type\": \"text\",\n \"label\": \"Short description (Optional)\",\n \"importance\": \"low\",\n \"optional\": true,\n \"maxLength\": 120,\n \"description\": \"Optional. Display a short description text on the video start screen. Does not work for YouTube videos.\"\n },\n {\n \"name\": \"poster\",\n \"type\": \"image\",\n \"label\": \"Poster image\",\n \"importance\": \"low\",\n \"optional\": true,\n \"description\": \"Image displayed before the user launches the video. Does not work for YouTube Videos.\"\n }\n ]\n },\n {\n \"name\": \"textTracks\",\n \"type\": \"group\",\n \"label\": \"Text tracks (unsupported for YouTube videos)\",\n \"importance\": \"low\",\n \"fields\": [\n {\n \"name\": \"videoTrack\",\n \"type\": \"list\",\n \"label\": \"Available text tracks\",\n \"importance\": \"low\",\n \"optional\": true,\n \"entity\": \"Track\",\n \"min\": 0,\n \"defaultNum\": 1,\n \"field\": {\n \"name\": \"track\",\n \"type\": \"group\",\n \"label\": \"Track\",\n \"importance\": \"low\",\n \"expanded\": false,\n \"fields\": [\n {\n \"name\": \"label\",\n \"type\": \"text\",\n \"label\": \"Track label\",\n \"description\": \"Used if you offer multiple tracks and the user has to choose a track. For instance 'Spanish subtitles' could be the label of a Spanish subtitle track.\",\n \"importance\": \"low\",\n \"default\": \"Subtitles\",\n \"optional\": true\n },\n {\n \"name\": \"kind\",\n \"type\": \"select\",\n \"label\": \"Type of text track\",\n \"importance\": \"low\",\n \"default\": \"subtitles\",\n \"options\": [\n {\n \"value\": \"subtitles\",\n \"label\": \"Subtitles\"\n },\n {\n \"value\": \"captions\",\n \"label\": \"Captions\"\n },\n {\n \"value\": \"descriptions\",\n \"label\": \"Descriptions\"\n }\n ]\n },\n {\n \"name\": \"srcLang\",\n \"type\": \"text\",\n \"label\": \"Source language, must be defined for subtitles\",\n \"importance\": \"low\",\n \"default\": \"en\",\n \"description\": \"Must be a valid BCP 47 language tag. If 'Subtitles' is the type of text track selected, the source language of the track must be defined.\"\n },\n {\n \"name\": \"track\",\n \"type\": \"file\",\n \"label\": \"Track source (WebVTT file)\",\n \"importance\": \"low\"\n }\n ]\n }\n },\n {\n \"name\": \"defaultTrackLabel\",\n \"type\": \"text\",\n \"label\": \"Default text track\",\n \"description\": \"If left empty or not matching any of the text tracks the first text track will be used as the default.\",\n \"importance\": \"low\",\n \"optional\": true\n }\n ]\n }\n ]\n },\n {\n \"name\": \"assets\",\n \"type\": \"group\",\n \"label\": \"Add interactions\",\n \"importance\": \"high\",\n \"widget\": \"interactiveVideo\",\n \"video\": \"video/files\",\n \"poster\": \"video/startScreenOptions/poster\",\n \"fields\": [\n {\n \"name\": \"interactions\",\n \"type\": \"list\",\n \"field\": {\n \"name\": \"interaction\",\n \"type\": \"group\",\n \"fields\": [\n {\n \"name\": \"duration\",\n \"type\": \"group\",\n \"widget\": \"duration\",\n \"label\": \"Display time\",\n \"importance\": \"low\",\n \"fields\": [\n {\n \"name\": \"from\",\n \"type\": \"number\"\n },\n {\n \"name\": \"to\",\n \"type\": \"number\"\n }\n ]\n },\n {\n \"name\": \"pause\",\n \"label\": \"Pause video\",\n \"importance\": \"low\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"displayType\",\n \"label\": \"Display as\",\n \"importance\": \"low\",\n \"description\": \"<b>Button</b> is a collapsed interaction the user must press to open. <b>Poster</b> is an expanded interaction displayed directly on top of the video\",\n \"type\": \"select\",\n \"widget\": \"imageRadioButtonGroup\",\n \"options\": [\n {\n \"value\": \"button\",\n \"label\": \"Button\"\n },\n {\n \"value\": \"poster\",\n \"label\": \"Poster\"\n }\n ],\n \"default\": \"button\"\n },\n {\n \"name\": \"buttonOnMobile\",\n \"label\": \"Turn into button on small screens\",\n \"importance\": \"low\",\n \"type\": \"boolean\",\n \"default\": false\n },\n {\n \"name\": \"label\",\n \"type\": \"text\",\n \"widget\": \"html\",\n \"label\": \"Label\",\n \"importance\": \"low\",\n \"description\": \"Label displayed next to interaction icon.\",\n \"optional\": true,\n \"enterMode\": \"p\",\n \"tags\": [\n \"p\"\n ]\n },\n {\n \"name\": \"x\",\n \"type\": \"number\",\n \"importance\": \"low\",\n \"widget\": \"none\"\n },\n {\n \"name\": \"y\",\n \"type\": \"number\",\n \"importance\": \"low\",\n \"widget\": \"none\"\n },\n {\n \"name\": \"width\",\n \"type\": \"number\",\n \"widget\": \"none\",\n \"importance\": \"low\",\n \"optional\": true\n },\n {\n \"name\": \"height\",\n \"type\": \"number\",\n \"widget\": \"none\",\n \"importance\": \"low\",\n \"optional\": true\n },\n {\n \"name\": \"libraryTitle\",\n \"type\": \"text\",\n \"importance\": \"low\",\n \"optional\": true,\n \"widget\": \"none\"\n },\n {\n \"name\": \"action\",\n \"type\": \"library\",\n \"importance\": \"low\",\n \"options\": [\n \"H5P.Nil 1.0\",\n \"H5P.Text 1.1\",\n \"H5P.Table 1.1\",\n \"H5P.Link 1.3\",\n \"H5P.Image 1.1\",\n \"H5P.Summary 1.10\",\n \"H5P.SingleChoiceSet 1.11\",\n \"H5P.MultiChoice 1.14\",\n \"H5P.TrueFalse 1.6\",\n \"H5P.Blanks 1.12\",\n \"H5P.DragQuestion 1.13\",\n \"H5P.MarkTheWords 1.9\",\n \"H5P.DragText 1.8\",\n \"H5P.GoToQuestion 1.3\",\n \"H5P.IVHotspot 1.2\",\n \"H5P.Questionnaire 1.2\",\n \"H5P.FreeTextQuestion 1.0\"\n ]\n },\n {\n \"name\": \"adaptivity\",\n \"type\": \"group\",\n \"label\": \"Adaptivity\",\n \"importance\": \"low\",\n \"optional\": true,\n \"fields\": [\n {\n \"name\": \"correct\",\n \"type\": \"group\",\n \"label\": \"Action on all correct\",\n \"fields\": [\n {\n \"name\": \"seekTo\",\n \"type\": \"number\",\n \"widget\": \"timecode\",\n \"label\": \"Seek to\",\n \"description\": \"Enter timecode in the format M:SS\"\n },\n {\n \"name\": \"allowOptOut\",\n \"type\": \"boolean\",\n \"label\": \"Allow the user to opt out and continue\"\n },\n {\n \"name\": \"message\",\n \"type\": \"text\",\n \"widget\": \"html\",\n \"enterMode\": \"p\",\n \"tags\": [\n \"strong\",\n \"em\",\n \"del\",\n \"a\",\n \"code\"\n ],\n \"label\": \"Message\"\n },\n {\n \"name\": \"seekLabel\",\n \"type\": \"text\",\n \"label\": \"Label for seek button\"\n }\n ]\n },\n {\n \"name\": \"wrong\",\n \"type\": \"group\",\n \"label\": \"Action on wrong\",\n \"fields\": [\n {\n \"name\": \"seekTo\",\n \"type\": \"number\",\n \"widget\": \"timecode\",\n \"label\": \"Seek to\",\n \"description\": \"Enter timecode in the format M:SS\"\n },\n {\n \"name\": \"allowOptOut\",\n \"type\": \"boolean\",\n \"label\": \"Allow the user to opt out and continue\"\n },\n {\n \"name\": \"message\",\n \"type\": \"text\",\n \"widget\": \"html\",\n \"enterMode\": \"p\",\n \"tags\": [\n \"strong\",\n \"em\",\n \"del\",\n \"a\",\n \"code\"\n ],\n \"label\": \"Message\"\n },\n {\n \"name\": \"seekLabel\",\n \"type\": \"text\",\n \"label\": \"Label for seek button\"\n }\n ]\n },\n {\n \"name\": \"requireCompletion\",\n \"type\": \"boolean\",\n \"label\": \"Require full score for task before proceeding\",\n \"description\": \"For best functionality this option should be used in conjunction with the \\\"Prevent skipping forward in a video\\\" option of Interactive Video.\"\n }\n ]\n },\n {\n \"name\": \"visuals\",\n \"label\": \"Visuals\",\n \"importance\": \"low\",\n \"type\": \"group\",\n \"fields\": [\n {\n \"name\": \"backgroundColor\",\n \"type\": \"text\",\n \"label\": \"Background color\",\n \"widget\": \"colorSelector\",\n \"default\": \"rgb(255, 255, 255)\",\n \"spectrum\": {\n \"showInput\": true,\n \"showAlpha\": true,\n \"preferredFormat\": \"rgb\",\n \"showPalette\": true,\n \"palette\": [\n [\n \"rgba(0, 0, 0, 0)\"\n ],\n [\n \"rgb(67, 67, 67)\",\n \"rgb(102, 102, 102)\",\n \"rgb(204, 204, 204)\",\n \"rgb(217, 217, 217)\",\n \"rgb(255, 255, 255)\"\n ],\n [\n \"rgb(152, 0, 0)\",\n \"rgb(255, 0, 0)\",\n \"rgb(255, 153, 0)\",\n \"rgb(255, 255, 0)\",\n \"rgb(0, 255, 0)\",\n \"rgb(0, 255, 255)\",\n \"rgb(74, 134, 232)\",\n \"rgb(0, 0, 255)\",\n \"rgb(153, 0, 255)\",\n \"rgb(255, 0, 255)\"\n ],\n [\n \"rgb(230, 184, 175)\",\n \"rgb(244, 204, 204)\",\n \"rgb(252, 229, 205)\",\n \"rgb(255, 242, 204)\",\n \"rgb(217, 234, 211)\",\n \"rgb(208, 224, 227)\",\n \"rgb(201, 218, 248)\",\n \"rgb(207, 226, 243)\",\n \"rgb(217, 210, 233)\",\n \"rgb(234, 209, 220)\",\n \"rgb(221, 126, 107)\",\n \"rgb(234, 153, 153)\",\n \"rgb(249, 203, 156)\",\n \"rgb(255, 229, 153)\",\n \"rgb(182, 215, 168)\",\n \"rgb(162, 196, 201)\",\n \"rgb(164, 194, 244)\",\n \"rgb(159, 197, 232)\",\n \"rgb(180, 167, 214)\",\n \"rgb(213, 166, 189)\",\n \"rgb(204, 65, 37)\",\n \"rgb(224, 102, 102)\",\n \"rgb(246, 178, 107)\",\n \"rgb(255, 217, 102)\",\n \"rgb(147, 196, 125)\",\n \"rgb(118, 165, 175)\",\n \"rgb(109, 158, 235)\",\n \"rgb(111, 168, 220)\",\n \"rgb(142, 124, 195)\",\n \"rgb(194, 123, 160)\",\n \"rgb(166, 28, 0)\",\n \"rgb(204, 0, 0)\",\n \"rgb(230, 145, 56)\",\n \"rgb(241, 194, 50)\",\n \"rgb(106, 168, 79)\",\n \"rgb(69, 129, 142)\",\n \"rgb(60, 120, 216)\",\n \"rgb(61, 133, 198)\",\n \"rgb(103, 78, 167)\",\n \"rgb(166, 77, 121)\",\n \"rgb(91, 15, 0)\",\n \"rgb(102, 0, 0)\",\n \"rgb(120, 63, 4)\",\n \"rgb(127, 96, 0)\",\n \"rgb(39, 78, 19)\",\n \"rgb(12, 52, 61)\",\n \"rgb(28, 69, 135)\",\n \"rgb(7, 55, 99)\",\n \"rgb(32, 18, 77)\",\n \"rgb(76, 17, 48)\"\n ]\n ]\n }\n },\n {\n \"name\": \"boxShadow\",\n \"type\": \"boolean\",\n \"label\": \"Box shadow\",\n \"default\": true,\n \"description\": \"Adds a subtle shadow around the interaction. You might want to disable this for completely transparent interactions\"\n }\n ]\n },\n {\n \"name\": \"goto\",\n \"label\": \"Go to on click\",\n \"importance\": \"low\",\n \"type\": \"group\",\n \"fields\": [\n {\n \"name\": \"type\",\n \"label\": \"Type\",\n \"type\": \"select\",\n \"widget\": \"selectToggleFields\",\n \"options\": [\n {\n \"value\": \"timecode\",\n \"label\": \"Timecode\",\n \"hideFields\": [\n \"url\"\n ]\n },\n {\n \"value\": \"url\",\n \"label\": \"Another page (URL)\",\n \"hideFields\": [\n \"time\"\n ]\n }\n ],\n \"optional\": true\n },\n {\n \"name\": \"time\",\n \"type\": \"number\",\n \"widget\": \"timecode\",\n \"label\": \"Go To\",\n \"description\": \"The target time the user will be taken to upon pressing the hotspot. Enter timecode in the format M:SS.\",\n \"optional\": true\n },\n {\n \"name\": \"url\",\n \"type\": \"group\",\n \"label\": \"URL\",\n \"widget\": \"linkWidget\",\n \"optional\": true,\n \"fields\": [\n {\n \"name\": \"protocol\",\n \"type\": \"select\",\n \"label\": \"Protocol\",\n \"options\": [\n {\n \"value\": \"http://\",\n \"label\": \"http://\"\n },\n {\n \"value\": \"https://\",\n \"label\": \"https://\"\n },\n {\n \"value\": \"/\",\n \"label\": \"(root relative)\"\n },\n {\n \"value\": \"other\",\n \"label\": \"other\"\n }\n ],\n \"optional\": true,\n \"default\": \"http://\"\n },\n {\n \"name\": \"url\",\n \"type\": \"text\",\n \"label\": \"URL\",\n \"optional\": true\n }\n ]\n },\n {\n \"name\": \"visualize\",\n \"type\": \"boolean\",\n \"label\": \"Visualize\",\n \"description\": \"Show that interaction can be clicked by adding a border and an icon\"\n }\n ]\n }\n ]\n }\n },\n {\n \"name\": \"bookmarks\",\n \"importance\": \"low\",\n \"type\": \"list\",\n \"field\": {\n \"name\": \"bookmark\",\n \"type\": \"group\",\n \"fields\": [\n {\n \"name\": \"time\",\n \"type\": \"number\"\n },\n {\n \"name\": \"label\",\n \"type\": \"text\"\n }\n ]\n }\n },\n {\n \"name\": \"endscreens\",\n \"importance\": \"low\",\n \"type\": \"list\",\n \"field\": {\n \"name\": \"endscreen\",\n \"type\": \"group\",\n \"fields\": [\n {\n \"name\": \"time\",\n \"type\": \"number\"\n },\n {\n \"name\": \"label\",\n \"type\": \"text\"\n }\n ]\n }\n }\n ]\n },\n {\n \"name\": \"summary\",\n \"type\": \"group\",\n \"label\": \"Summary task\",\n \"importance\": \"high\",\n \"fields\": [\n {\n \"name\": \"task\",\n \"type\": \"library\",\n \"options\": [\n \"H5P.Summary 1.10\"\n ],\n \"default\": {\n \"library\": \"H5P.Summary 1.10\",\n \"params\": {}\n }\n },\n {\n \"name\": \"displayAt\",\n \"type\": \"number\",\n \"label\": \"Display at\",\n \"description\": \"Number of seconds before the video ends.\",\n \"default\": 3\n }\n ]\n }\n ]\n },\n {\n \"name\": \"override\",\n \"type\": \"group\",\n \"label\": \"Behavioural settings\",\n \"importance\": \"low\",\n \"optional\": true,\n \"fields\": [\n {\n \"name\": \"startVideoAt\",\n \"type\": \"number\",\n \"widget\": \"timecode\",\n \"label\": \"Start video at\",\n \"importance\": \"low\",\n \"optional\": true,\n \"description\": \"Enter timecode in the format M:SS\"\n },\n {\n \"name\": \"autoplay\",\n \"type\": \"boolean\",\n \"label\": \"Auto-play video\",\n \"default\": false,\n \"optional\": true,\n \"description\": \"Start playing the video automatically\"\n },\n {\n \"name\": \"loop\",\n \"type\": \"boolean\",\n \"label\": \"Loop the video\",\n \"default\": false,\n \"optional\": true,\n \"description\": \"Check if video should run in a loop\"\n },\n {\n \"name\": \"showSolutionButton\",\n \"type\": \"select\",\n \"label\": \"Override \\\"Show Solution\\\" button\",\n \"importance\": \"low\",\n \"description\": \"This option determines if the \\\"Show Solution\\\" button will be shown for all questions, disabled for all or configured for each question individually.\",\n \"optional\": true,\n \"options\": [\n {\n \"value\": \"on\",\n \"label\": \"Enabled\"\n },\n {\n \"value\": \"off\",\n \"label\": \"Disabled\"\n }\n ]\n },\n {\n \"name\": \"retryButton\",\n \"type\": \"select\",\n \"label\": \"Override \\\"Retry\\\" button\",\n \"importance\": \"low\",\n \"description\": \"This option determines if the \\\"Retry\\\" button will be shown for all questions, disabled for all or configured for each question individually.\",\n \"optional\": true,\n \"options\": [\n {\n \"value\": \"on\",\n \"label\": \"Enabled\"\n },\n {\n \"value\": \"off\",\n \"label\": \"Disabled\"\n }\n ]\n },\n {\n \"name\": \"showBookmarksmenuOnLoad\",\n \"type\": \"boolean\",\n \"label\": \"Start with bookmarks menu open\",\n \"importance\": \"low\",\n \"default\": false,\n \"description\": \"This function is not available on iPad when using YouTube as video source.\"\n },\n {\n \"name\": \"showRewind10\",\n \"type\": \"boolean\",\n \"label\": \"Show button for rewinding 10 seconds\",\n \"importance\": \"low\",\n \"default\": false\n },\n {\n \"name\": \"preventSkipping\",\n \"type\": \"boolean\",\n \"default\": false,\n \"label\": \"Prevent skipping forward in a video\",\n \"importance\": \"low\",\n \"description\": \"Enabling this options will disable user video navigation through default controls.\"\n },\n {\n \"name\": \"deactivateSound\",\n \"type\": \"boolean\",\n \"default\": false,\n \"label\": \"Deactivate sound\",\n \"importance\": \"low\",\n \"description\": \"Enabling this option will deactivate the video's sound and prevent it from being switched on.\"\n }\n ]\n },\n {\n \"name\": \"l10n\",\n \"type\": \"group\",\n \"label\": \"Localize\",\n \"importance\": \"low\",\n \"common\": true,\n \"optional\": true,\n \"fields\": [\n {\n \"name\": \"interaction\",\n \"type\": \"text\",\n \"label\": \"Interaction title\",\n \"importance\": \"low\",\n \"default\": \"Interaction\",\n \"optional\": true\n },\n {\n \"name\": \"play\",\n \"type\": \"text\",\n \"label\": \"Play title\",\n \"importance\": \"low\",\n \"default\": \"Play\",\n \"optional\": true\n },\n {\n \"name\": \"pause\",\n \"type\": \"text\",\n \"label\": \"Pause title\",\n \"importance\": \"low\",\n \"default\": \"Pause\",\n \"optional\": true\n },\n {\n \"name\": \"mute\",\n \"type\": \"text\",\n \"label\": \"Mute title\",\n \"importance\": \"low\",\n \"default\": \"Mute\",\n \"optional\": true\n },\n {\n \"name\": \"unmute\",\n \"type\": \"text\",\n \"label\": \"Unmute title\",\n \"importance\": \"low\",\n \"default\": \"Unmute\",\n \"optional\": true\n },\n {\n \"name\": \"quality\",\n \"type\": \"text\",\n \"label\": \"Video quality title\",\n \"importance\": \"low\",\n \"default\": \"Video Quality\",\n \"optional\": true\n },\n {\n \"name\": \"captions\",\n \"type\": \"text\",\n \"label\": \"Video captions title\",\n \"importance\": \"low\",\n \"default\": \"Captions\",\n \"optional\": true\n },\n {\n \"name\": \"close\",\n \"type\": \"text\",\n \"label\": \"Close button text\",\n \"importance\": \"low\",\n \"default\": \"Close\",\n \"optional\": true\n },\n {\n \"name\": \"fullscreen\",\n \"type\": \"text\",\n \"label\": \"Fullscreen title\",\n \"importance\": \"low\",\n \"default\": \"Fullscreen\",\n \"optional\": true\n },\n {\n \"name\": \"exitFullscreen\",\n \"type\": \"text\",\n \"label\": \"Exit fullscreen title\",\n \"importance\": \"low\",\n \"default\": \"Exit Fullscreen\",\n \"optional\": true\n },\n {\n \"name\": \"summary\",\n \"type\": \"text\",\n \"label\": \"Summary title\",\n \"importance\": \"low\",\n \"default\": \"Open summary dialog\",\n \"optional\": true\n },\n {\n \"name\": \"bookmarks\",\n \"type\": \"text\",\n \"label\": \"Bookmarks title\",\n \"importance\": \"low\",\n \"default\": \"Bookmarks\",\n \"optional\": true\n },\n {\n \"name\": \"endscreen\",\n \"type\": \"text\",\n \"label\": \"Submit screen title\",\n \"importance\": \"low\",\n \"default\": \"Submit screen\",\n \"optional\": true\n },\n {\n \"name\": \"defaultAdaptivitySeekLabel\",\n \"type\": \"text\",\n \"label\": \"Default label for adaptivity seek button\",\n \"importance\": \"low\",\n \"default\": \"Continue\",\n \"optional\": true\n },\n {\n \"name\": \"continueWithVideo\",\n \"type\": \"text\",\n \"label\": \"Default label for continue video button\",\n \"importance\": \"low\",\n \"default\": \"Continue with video\",\n \"optional\": true\n },\n {\n \"name\": \"playbackRate\",\n \"type\": \"text\",\n \"label\": \"Set playback rate\",\n \"importance\": \"low\",\n \"default\": \"Playback Rate\",\n \"optional\": true\n },\n {\n \"name\": \"rewind10\",\n \"type\": \"text\",\n \"label\": \"Rewind 10 Seconds\",\n \"importance\": \"low\",\n \"default\": \"Rewind 10 Seconds\",\n \"optional\": true\n },\n {\n \"name\": \"navDisabled\",\n \"type\": \"text\",\n \"label\": \"Navigation is disabled text\",\n \"importance\": \"low\",\n \"default\": \"Navigation is disabled\",\n \"optional\": true\n },\n {\n \"name\": \"sndDisabled\",\n \"type\": \"text\",\n \"label\": \"Sound is disabled text\",\n \"importance\": \"low\",\n \"default\": \"Sound is disabled\",\n \"optional\": true\n },\n {\n \"name\": \"requiresCompletionWarning\",\n \"type\": \"text\",\n \"label\": \"Warning that the user must answer the question correctly before continuing\",\n \"importance\": \"low\",\n \"default\": \"You need to answer all the questions correctly before continuing.\",\n \"optional\": true\n },\n {\n \"name\": \"back\",\n \"type\": \"text\",\n \"label\": \"Back button\",\n \"importance\": \"low\",\n \"default\": \"Back\",\n \"optional\": true\n },\n {\n \"name\": \"hours\",\n \"type\": \"text\",\n \"label\": \"Passed time hours\",\n \"importance\": \"low\",\n \"default\": \"Hours\",\n \"optional\": true\n },\n {\n \"name\": \"minutes\",\n \"type\": \"text\",\n \"label\": \"Passed time minutes\",\n \"importance\": \"low\",\n \"default\": \"Minutes\",\n \"optional\": true\n },\n {\n \"name\": \"seconds\",\n \"type\": \"text\",\n \"label\": \"Passed time seconds\",\n \"importance\": \"low\",\n \"default\": \"Seconds\",\n \"optional\": true\n },\n {\n \"name\": \"currentTime\",\n \"type\": \"text\",\n \"label\": \"Label for current time\",\n \"importance\": \"low\",\n \"default\": \"Current time:\",\n \"optional\": true\n },\n {\n \"name\": \"totalTime\",\n \"type\": \"text\",\n \"label\": \"Label for total time\",\n \"importance\": \"low\",\n \"default\": \"Total time:\",\n \"optional\": true\n },\n {\n \"name\": \"singleInteractionAnnouncement\",\n \"type\": \"text\",\n \"label\": \"Text explaining that a single interaction with a name has come into view\",\n \"importance\": \"low\",\n \"default\": \"Interaction appeared:\",\n \"optional\": true\n },\n {\n \"name\": \"multipleInteractionsAnnouncement\",\n \"type\": \"text\",\n \"label\": \"Text for explaining that multiple interactions have come into view\",\n \"importance\": \"low\",\n \"default\": \"Multiple interactions appeared.\",\n \"optional\": true\n },\n {\n \"name\": \"videoPausedAnnouncement\",\n \"type\": \"text\",\n \"label\": \"Video is paused announcement\",\n \"importance\": \"low\",\n \"default\": \"Video is paused\",\n \"optional\": true\n },\n {\n \"name\": \"content\",\n \"type\": \"text\",\n \"label\": \"Content label\",\n \"importance\": \"low\",\n \"default\": \"Content\",\n \"optional\": true\n },\n {\n \"name\": \"answered\",\n \"type\": \"text\",\n \"label\": \"Answered message (@answered will be replaced with the number of answered questions)\",\n \"importance\": \"low\",\n \"default\": \"@answered answered\",\n \"optional\": true\n },\n {\n \"name\": \"endcardTitle\",\n \"type\": \"text\",\n \"label\": \"Submit screen title\",\n \"importance\": \"low\",\n \"default\": \"@answered Question(s) answered\",\n \"description\": \"@answered will be replaced by the number of answered questions.\",\n \"optional\": true\n },\n {\n \"name\": \"endcardInformation\",\n \"type\": \"text\",\n \"label\": \"Submit screen information\",\n \"importance\": \"low\",\n \"default\": \"You have answered @answered questions, click below to submit your answers.\",\n \"description\": \"@answered will be replaced by the number of answered questions.\",\n \"optional\": true\n },\n {\n \"name\": \"endcardInformationNoAnswers\",\n \"type\": \"text\",\n \"label\": \"Submit screen information for missing answers\",\n \"importance\": \"low\",\n \"default\": \"You have not answered any questions.\",\n \"optional\": true\n },\n {\n \"name\": \"endcardInformationMustHaveAnswer\",\n \"type\": \"text\",\n \"label\": \"Submit screen information for answer needed\",\n \"importance\": \"low\",\n \"default\": \"You have to answer at least one question before you can submit your answers.\",\n \"optional\": true\n },\n {\n \"name\": \"endcardSubmitButton\",\n \"type\": \"text\",\n \"label\": \"Submit screen submit button\",\n \"importance\": \"low\",\n \"default\": \"Submit Answers\",\n \"optional\": true\n },\n {\n \"name\": \"endcardSubmitMessage\",\n \"type\": \"text\",\n \"label\": \"Submit screen submit message\",\n \"importance\": \"low\",\n \"default\": \"Your answers have been submitted!\",\n \"optional\": true\n },\n {\n \"name\": \"endcardTableRowAnswered\",\n \"type\": \"text\",\n \"label\": \"Submit screen table row title: Answered questions\",\n \"importance\": \"low\",\n \"default\": \"Answered questions\",\n \"optional\": true\n },\n {\n \"name\": \"endcardTableRowScore\",\n \"type\": \"text\",\n \"label\": \"Submit screen table row title: Score\",\n \"importance\": \"low\",\n \"default\": \"Score\",\n \"optional\": true\n },\n {\n \"name\": \"endcardAnsweredScore\",\n \"type\": \"text\",\n \"label\": \"Submit screen answered score\",\n \"importance\": \"low\",\n \"default\": \"answered\",\n \"optional\": true\n },\n {\n \"name\": \"endCardTableRowSummaryWithScore\",\n \"type\": \"text\",\n \"label\": \"Submit screen row summary including score (for readspeakers)\",\n \"importance\": \"low\",\n \"default\": \"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\n \"optional\": true\n },\n {\n \"name\": \"endCardTableRowSummaryWithoutScore\",\n \"type\": \"text\",\n \"label\": \"Submit screen row summary for no score (for readspeakers)\",\n \"importance\": \"low\",\n \"default\": \"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\",\n \"optional\": true\n }\n ]\n }\n]",
"tutorial_url": "",
"has_icon": 1
},
"created_at": "2020-09-30T20:24:58.000000Z",
"updated_at": "2020-09-30T20:24:58.000000Z"
},
"created_at": "2020-09-30T20:24:58.000000Z",
"updated_at": "2020-09-30T20:24:58.000000Z"
},
{
"id": 2,
"playlist_id": 2,
"title": "Science of Golf: Why Balls Have Dimples",
"type": "h5p",
"content": "",
"shared": false,
"order": 2,
"thumb_url": null,
"subject_id": null,
"education_level_id": null,
"h5p_content": {
"id": 59,
"user_id": 1,
"title": "Science of Golf: Why Balls Have Dimples",
"library_id": 40,
"parameters": "{\"interactiveVideo\":{\"video\":{\"startScreenOptions\":{\"title\":\"Interactive Video\",\"hideStartTitle\":false},\"textTracks\":{\"videoTrack\":[{\"label\":\"Subtitles\",\"kind\":\"subtitles\",\"srcLang\":\"en\"}]},\"files\":[{\"path\":\"https://youtu.be/fcjaxC-e8oY\",\"mime\":\"video/YouTube\",\"copyright\":{\"license\":\"U\"},\"aspectRatio\":\"16:9\"}]},\"assets\":{\"interactions\":[{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":58.33,\"to\":68.33},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"133bca3d-cfe9-442d-a887-8bf1e2ce682a\",\"question\":\"<p>Why do golf balls have dimples?</p>\\n\",\"answers\":[\"<p>They reduce wind resistance.</p>\\n\",\"<p>They make the ball more visually interesting.</p>\\n\",\"<p>They grip the putting green better than a smooth ball.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"ac029b43-7225-49ed-a2d7-8656037748e0\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Why do golf balls have dimples?\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Why do golf balls have dimples?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Why do golf balls have dimples?</p>\\n\"},{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":132.969,\"to\":142.969},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"308503f3-8d41-4f4f-b016-587bcce3dfac\",\"question\":\"<p>A smooth ball will have a detached airflow, which causes what?</p>\\n\",\"answers\":[\"<p>A low pressure zone, which is what causes drag.</p>\\n\",\"<p>The ball has no spin.</p>\\n\",\"<p>The ball travels higher, but for a shorter distance.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"f70c849d-9542-4f30-9116-8b60b7da708d\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Smooth Ball?\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Smooth Ball?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Smooth Ball</p>\\n\"}],\"bookmarks\":[],\"endscreens\":[{\"time\":295,\"label\":\"4:55 Submit screen\"}]},\"summary\":{\"task\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"8e2cf84f-4557-4f79-a03e-526838498a7d\",\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"8d5527ef-3601-4ad9-9e63-2782c9775173\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Untitled Summary\"}},\"displayAt\":3}},\"override\":{\"autoplay\":false,\"loop\":false,\"showBookmarksmenuOnLoad\":false,\"showRewind10\":false,\"preventSkipping\":false,\"deactivateSound\":false},\"l10n\":{\"interaction\":\"Interaction\",\"play\":\"Play\",\"pause\":\"Pause\",\"mute\":\"Mute\",\"unmute\":\"Unmute\",\"quality\":\"Video Quality\",\"captions\":\"Captions\",\"close\":\"Close\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit Fullscreen\",\"summary\":\"Open summary dialog\",\"bookmarks\":\"Bookmarks\",\"endscreen\":\"Submit screen\",\"defaultAdaptivitySeekLabel\":\"Continue\",\"continueWithVideo\":\"Continue with video\",\"playbackRate\":\"Playback Rate\",\"rewind10\":\"Rewind 10 Seconds\",\"navDisabled\":\"Navigation is disabled\",\"sndDisabled\":\"Sound is disabled\",\"requiresCompletionWarning\":\"You need to answer all the questions correctly before continuing.\",\"back\":\"Back\",\"hours\":\"Hours\",\"minutes\":\"Minutes\",\"seconds\":\"Seconds\",\"currentTime\":\"Current time:\",\"totalTime\":\"Total time:\",\"singleInteractionAnnouncement\":\"Interaction appeared:\",\"multipleInteractionsAnnouncement\":\"Multiple interactions appeared.\",\"videoPausedAnnouncement\":\"Video is paused\",\"content\":\"Content\",\"answered\":\"@answered answered\",\"endcardTitle\":\"@answered Question(s) answered\",\"endcardInformation\":\"You have answered @answered questions, click below to submit your answers.\",\"endcardInformationNoAnswers\":\"You have not answered any questions.\",\"endcardInformationMustHaveAnswer\":\"You have to answer at least one question before you can submit your answers.\",\"endcardSubmitButton\":\"Submit Answers\",\"endcardSubmitMessage\":\"Your answers have been submitted!\",\"endcardTableRowAnswered\":\"Answered questions\",\"endcardTableRowScore\":\"Score\",\"endcardAnsweredScore\":\"answered\",\"endCardTableRowSummaryWithScore\":\"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\"endCardTableRowSummaryWithoutScore\":\"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\"}}",
"filtered": "{\"interactiveVideo\":{\"video\":{\"startScreenOptions\":{\"title\":\"Interactive Video\",\"hideStartTitle\":false},\"textTracks\":{\"videoTrack\":[{\"label\":\"Subtitles\",\"kind\":\"subtitles\",\"srcLang\":\"en\"}]},\"files\":[{\"path\":\"https://youtu.be/fcjaxC-e8oY\",\"mime\":\"video/YouTube\",\"copyright\":{\"license\":\"U\"}}]},\"assets\":{\"interactions\":[{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":58.33,\"to\":68.33},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"133bca3d-cfe9-442d-a887-8bf1e2ce682a\",\"question\":\"<p>Why do golf balls have dimples?</p>\\n\",\"answers\":[\"<p>They reduce wind resistance.</p>\\n\",\"<p>They make the ball more visually interesting.</p>\\n\",\"<p>They grip the putting green better than a smooth ball.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"ac029b43-7225-49ed-a2d7-8656037748e0\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Why do golf balls have dimples?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Why do golf balls have dimples?</p>\\n\"},{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":132.969,\"to\":142.969},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"308503f3-8d41-4f4f-b016-587bcce3dfac\",\"question\":\"<p>A smooth ball will have a detached airflow, which causes what?</p>\\n\",\"answers\":[\"<p>A low pressure zone, which is what causes drag.</p>\\n\",\"<p>The ball has no spin.</p>\\n\",\"<p>The ball travels higher, but for a shorter distance.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"f70c849d-9542-4f30-9116-8b60b7da708d\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Smooth Ball?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Smooth Ball</p>\\n\"}],\"endscreens\":[{\"time\":295,\"label\":\"4:55 Submit screen\"}]},\"summary\":{\"task\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"8e2cf84f-4557-4f79-a03e-526838498a7d\",\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"8d5527ef-3601-4ad9-9e63-2782c9775173\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\"}},\"displayAt\":3}},\"override\":{\"autoplay\":false,\"loop\":false,\"showBookmarksmenuOnLoad\":false,\"showRewind10\":false,\"preventSkipping\":false,\"deactivateSound\":false},\"l10n\":{\"interaction\":\"Interaction\",\"play\":\"Play\",\"pause\":\"Pause\",\"mute\":\"Mute\",\"unmute\":\"Unmute\",\"quality\":\"Video Quality\",\"captions\":\"Captions\",\"close\":\"Close\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit Fullscreen\",\"summary\":\"Open summary dialog\",\"bookmarks\":\"Bookmarks\",\"endscreen\":\"Submit screen\",\"defaultAdaptivitySeekLabel\":\"Continue\",\"continueWithVideo\":\"Continue with video\",\"playbackRate\":\"Playback Rate\",\"rewind10\":\"Rewind 10 Seconds\",\"navDisabled\":\"Navigation is disabled\",\"sndDisabled\":\"Sound is disabled\",\"requiresCompletionWarning\":\"You need to answer all the questions correctly before continuing.\",\"back\":\"Back\",\"hours\":\"Hours\",\"minutes\":\"Minutes\",\"seconds\":\"Seconds\",\"currentTime\":\"Current time:\",\"totalTime\":\"Total time:\",\"singleInteractionAnnouncement\":\"Interaction appeared:\",\"multipleInteractionsAnnouncement\":\"Multiple interactions appeared.\",\"videoPausedAnnouncement\":\"Video is paused\",\"content\":\"Content\",\"answered\":\"@answered answered\",\"endcardTitle\":\"@answered Question(s) answered\",\"endcardInformation\":\"You have answered @answered questions, click below to submit your answers.\",\"endcardInformationNoAnswers\":\"You have not answered any questions.\",\"endcardInformationMustHaveAnswer\":\"You have to answer at least one question before you can submit your answers.\",\"endcardSubmitButton\":\"Submit Answers\",\"endcardSubmitMessage\":\"Your answers have been submitted!\",\"endcardTableRowAnswered\":\"Answered questions\",\"endcardTableRowScore\":\"Score\",\"endcardAnsweredScore\":\"answered\",\"endCardTableRowSummaryWithScore\":\"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\"endCardTableRowSummaryWithoutScore\":\"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\"}}",
"slug": "science-of-golf-why-balls-have-dimples",
"embed_type": "div",
"disable": 9,
"content_type": null,
"authors": null,
"source": null,
"year_from": null,
"year_to": null,
"license": "U",
"license_version": null,
"license_extras": null,
"author_comments": null,
"changes": null,
"default_language": null,
"library": {
"id": 40,
"created_at": null,
"updated_at": null,
"name": "H5P.InteractiveVideo",
"title": "Interactive Video",
"major_version": 1,
"minor_version": 21,
"patch_version": 9,
"runnable": 1,
"restricted": 0,
"fullscreen": 1,
"embed_types": "iframe",
"preloaded_js": "dist/h5p-interactive-video.js",
"preloaded_css": "dist/h5p-interactive-video.css",
"drop_library_css": "",
"semantics": "[\n {\n \"name\": \"interactiveVideo\",\n \"type\": \"group\",\n \"widget\": \"wizard\",\n \"label\": \"Interactive Video Editor\",\n \"importance\": \"high\",\n \"fields\": [\n {\n \"name\": \"video\",\n \"type\": \"group\",\n \"label\": \"Upload/embed video\",\n \"importance\": \"high\",\n \"fields\": [\n {\n \"name\": \"files\",\n \"type\": \"video\",\n \"label\": \"Add a video\",\n \"importance\": \"high\",\n \"description\": \"Click below to add a video you wish to use in your interactive video. You can add a video link or upload video files. It is possible to add several versions of the video with different qualities. To ensure maximum support in browsers at least add a version in webm and mp4 formats.\",\n \"extraAttributes\": [\n \"metadata\"\n ],\n \"enableCustomQualityLabel\": true\n },\n {\n \"name\": \"startScreenOptions\",\n \"type\": \"group\",\n \"label\": \"Start screen options (unsupported for YouTube videos)\",\n \"importance\": \"low\",\n \"fields\": [\n {\n \"name\": \"title\",\n \"type\": \"text\",\n \"label\": \"The title of this interactive video\",\n \"importance\": \"low\",\n \"maxLength\": 60,\n \"default\": \"Interactive Video\",\n \"description\": \"Used in summaries, statistics etc.\"\n },\n {\n \"name\": \"hideStartTitle\",\n \"type\": \"boolean\",\n \"label\": \"Hide title on video start screen\",\n \"importance\": \"low\",\n \"optional\": true,\n \"default\": false\n },\n {\n \"name\": \"shortStartDescription\",\n \"type\": \"text\",\n \"label\": \"Short description (Optional)\",\n \"importance\": \"low\",\n \"optional\": true,\n \"maxLength\": 120,\n \"description\": \"Optional. Display a short description text on the video start screen. Does not work for YouTube videos.\"\n },\n {\n \"name\": \"poster\",\n \"type\": \"image\",\n \"label\": \"Poster image\",\n \"importance\": \"low\",\n \"optional\": true,\n \"description\": \"Image displayed before the user launches the video. Does not work for YouTube Videos.\"\n }\n ]\n },\n {\n \"name\": \"textTracks\",\n \"type\": \"group\",\n \"label\": \"Text tracks (unsupported for YouTube videos)\",\n \"importance\": \"low\",\n \"fields\": [\n {\n \"name\": \"videoTrack\",\n \"type\": \"list\",\n \"label\": \"Available text tracks\",\n \"importance\": \"low\",\n \"optional\": true,\n \"entity\": \"Track\",\n \"min\": 0,\n \"defaultNum\": 1,\n \"field\": {\n \"name\": \"track\",\n \"type\": \"group\",\n \"label\": \"Track\",\n \"importance\": \"low\",\n \"expanded\": false,\n \"fields\": [\n {\n \"name\": \"label\",\n \"type\": \"text\",\n \"label\": \"Track label\",\n \"description\": \"Used if you offer multiple tracks and the user has to choose a track. For instance 'Spanish subtitles' could be the label of a Spanish subtitle track.\",\n \"importance\": \"low\",\n \"default\": \"Subtitles\",\n \"optional\": true\n },\n {\n \"name\": \"kind\",\n \"type\": \"select\",\n \"label\": \"Type of text track\",\n \"importance\": \"low\",\n \"default\": \"subtitles\",\n \"options\": [\n {\n \"value\": \"subtitles\",\n \"label\": \"Subtitles\"\n },\n {\n \"value\": \"captions\",\n \"label\": \"Captions\"\n },\n {\n \"value\": \"descriptions\",\n \"label\": \"Descriptions\"\n }\n ]\n },\n {\n \"name\": \"srcLang\",\n \"type\": \"text\",\n \"label\": \"Source language, must be defined for subtitles\",\n \"importance\": \"low\",\n \"default\": \"en\",\n \"description\": \"Must be a valid BCP 47 language tag. If 'Subtitles' is the type of text track selected, the source language of the track must be defined.\"\n },\n {\n \"name\": \"track\",\n \"type\": \"file\",\n \"label\": \"Track source (WebVTT file)\",\n \"importance\": \"low\"\n }\n ]\n }\n },\n {\n \"name\": \"defaultTrackLabel\",\n \"type\": \"text\",\n \"label\": \"Default text track\",\n \"description\": \"If left empty or not matching any of the text tracks the first text track will be used as the default.\",\n \"importance\": \"low\",\n \"optional\": true\n }\n ]\n }\n ]\n },\n {\n \"name\": \"assets\",\n \"type\": \"group\",\n \"label\": \"Add interactions\",\n \"importance\": \"high\",\n \"widget\": \"interactiveVideo\",\n \"video\": \"video/files\",\n \"poster\": \"video/startScreenOptions/poster\",\n \"fields\": [\n {\n \"name\": \"interactions\",\n \"type\": \"list\",\n \"field\": {\n \"name\": \"interaction\",\n \"type\": \"group\",\n \"fields\": [\n {\n \"name\": \"duration\",\n \"type\": \"group\",\n \"widget\": \"duration\",\n \"label\": \"Display time\",\n \"importance\": \"low\",\n \"fields\": [\n {\n \"name\": \"from\",\n \"type\": \"number\"\n },\n {\n \"name\": \"to\",\n \"type\": \"number\"\n }\n ]\n },\n {\n \"name\": \"pause\",\n \"label\": \"Pause video\",\n \"importance\": \"low\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"displayType\",\n \"label\": \"Display as\",\n \"importance\": \"low\",\n \"description\": \"<b>Button</b> is a collapsed interaction the user must press to open. <b>Poster</b> is an expanded interaction displayed directly on top of the video\",\n \"type\": \"select\",\n \"widget\": \"imageRadioButtonGroup\",\n \"options\": [\n {\n \"value\": \"button\",\n \"label\": \"Button\"\n },\n {\n \"value\": \"poster\",\n \"label\": \"Poster\"\n }\n ],\n \"default\": \"button\"\n },\n {\n \"name\": \"buttonOnMobile\",\n \"label\": \"Turn into button on small screens\",\n \"importance\": \"low\",\n \"type\": \"boolean\",\n \"default\": false\n },\n {\n \"name\": \"label\",\n \"type\": \"text\",\n \"widget\": \"html\",\n \"label\": \"Label\",\n \"importance\": \"low\",\n \"description\": \"Label displayed next to interaction icon.\",\n \"optional\": true,\n \"enterMode\": \"p\",\n \"tags\": [\n \"p\"\n ]\n },\n {\n \"name\": \"x\",\n \"type\": \"number\",\n \"importance\": \"low\",\n \"widget\": \"none\"\n },\n {\n \"name\": \"y\",\n \"type\": \"number\",\n \"importance\": \"low\",\n \"widget\": \"none\"\n },\n {\n \"name\": \"width\",\n \"type\": \"number\",\n \"widget\": \"none\",\n \"importance\": \"low\",\n \"optional\": true\n },\n {\n \"name\": \"height\",\n \"type\": \"number\",\n \"widget\": \"none\",\n \"importance\": \"low\",\n \"optional\": true\n },\n {\n \"name\": \"libraryTitle\",\n \"type\": \"text\",\n \"importance\": \"low\",\n \"optional\": true,\n \"widget\": \"none\"\n },\n {\n \"name\": \"action\",\n \"type\": \"library\",\n \"importance\": \"low\",\n \"options\": [\n \"H5P.Nil 1.0\",\n \"H5P.Text 1.1\",\n \"H5P.Table 1.1\",\n \"H5P.Link 1.3\",\n \"H5P.Image 1.1\",\n \"H5P.Summary 1.10\",\n \"H5P.SingleChoiceSet 1.11\",\n \"H5P.MultiChoice 1.14\",\n \"H5P.TrueFalse 1.6\",\n \"H5P.Blanks 1.12\",\n \"H5P.DragQuestion 1.13\",\n \"H5P.MarkTheWords 1.9\",\n \"H5P.DragText 1.8\",\n \"H5P.GoToQuestion 1.3\",\n \"H5P.IVHotspot 1.2\",\n \"H5P.Questionnaire 1.2\",\n \"H5P.FreeTextQuestion 1.0\"\n ]\n },\n {\n \"name\": \"adaptivity\",\n \"type\": \"group\",\n \"label\": \"Adaptivity\",\n \"importance\": \"low\",\n \"optional\": true,\n \"fields\": [\n {\n \"name\": \"correct\",\n \"type\": \"group\",\n \"label\": \"Action on all correct\",\n \"fields\": [\n {\n \"name\": \"seekTo\",\n \"type\": \"number\",\n \"widget\": \"timecode\",\n \"label\": \"Seek to\",\n \"description\": \"Enter timecode in the format M:SS\"\n },\n {\n \"name\": \"allowOptOut\",\n \"type\": \"boolean\",\n \"label\": \"Allow the user to opt out and continue\"\n },\n {\n \"name\": \"message\",\n \"type\": \"text\",\n \"widget\": \"html\",\n \"enterMode\": \"p\",\n \"tags\": [\n \"strong\",\n \"em\",\n \"del\",\n \"a\",\n \"code\"\n ],\n \"label\": \"Message\"\n },\n {\n \"name\": \"seekLabel\",\n \"type\": \"text\",\n \"label\": \"Label for seek button\"\n }\n ]\n },\n {\n \"name\": \"wrong\",\n \"type\": \"group\",\n \"label\": \"Action on wrong\",\n \"fields\": [\n {\n \"name\": \"seekTo\",\n \"type\": \"number\",\n \"widget\": \"timecode\",\n \"label\": \"Seek to\",\n \"description\": \"Enter timecode in the format M:SS\"\n },\n {\n \"name\": \"allowOptOut\",\n \"type\": \"boolean\",\n \"label\": \"Allow the user to opt out and continue\"\n },\n {\n \"name\": \"message\",\n \"type\": \"text\",\n \"widget\": \"html\",\n \"enterMode\": \"p\",\n \"tags\": [\n \"strong\",\n \"em\",\n \"del\",\n \"a\",\n \"code\"\n ],\n \"label\": \"Message\"\n },\n {\n \"name\": \"seekLabel\",\n \"type\": \"text\",\n \"label\": \"Label for seek button\"\n }\n ]\n },\n {\n \"name\": \"requireCompletion\",\n \"type\": \"boolean\",\n \"label\": \"Require full score for task before proceeding\",\n \"description\": \"For best functionality this option should be used in conjunction with the \\\"Prevent skipping forward in a video\\\" option of Interactive Video.\"\n }\n ]\n },\n {\n \"name\": \"visuals\",\n \"label\": \"Visuals\",\n \"importance\": \"low\",\n \"type\": \"group\",\n \"fields\": [\n {\n \"name\": \"backgroundColor\",\n \"type\": \"text\",\n \"label\": \"Background color\",\n \"widget\": \"colorSelector\",\n \"default\": \"rgb(255, 255, 255)\",\n \"spectrum\": {\n \"showInput\": true,\n \"showAlpha\": true,\n \"preferredFormat\": \"rgb\",\n \"showPalette\": true,\n \"palette\": [\n [\n \"rgba(0, 0, 0, 0)\"\n ],\n [\n \"rgb(67, 67, 67)\",\n \"rgb(102, 102, 102)\",\n \"rgb(204, 204, 204)\",\n \"rgb(217, 217, 217)\",\n \"rgb(255, 255, 255)\"\n ],\n [\n \"rgb(152, 0, 0)\",\n \"rgb(255, 0, 0)\",\n \"rgb(255, 153, 0)\",\n \"rgb(255, 255, 0)\",\n \"rgb(0, 255, 0)\",\n \"rgb(0, 255, 255)\",\n \"rgb(74, 134, 232)\",\n \"rgb(0, 0, 255)\",\n \"rgb(153, 0, 255)\",\n \"rgb(255, 0, 255)\"\n ],\n [\n \"rgb(230, 184, 175)\",\n \"rgb(244, 204, 204)\",\n \"rgb(252, 229, 205)\",\n \"rgb(255, 242, 204)\",\n \"rgb(217, 234, 211)\",\n \"rgb(208, 224, 227)\",\n \"rgb(201, 218, 248)\",\n \"rgb(207, 226, 243)\",\n \"rgb(217, 210, 233)\",\n \"rgb(234, 209, 220)\",\n \"rgb(221, 126, 107)\",\n \"rgb(234, 153, 153)\",\n \"rgb(249, 203, 156)\",\n \"rgb(255, 229, 153)\",\n \"rgb(182, 215, 168)\",\n \"rgb(162, 196, 201)\",\n \"rgb(164, 194, 244)\",\n \"rgb(159, 197, 232)\",\n \"rgb(180, 167, 214)\",\n \"rgb(213, 166, 189)\",\n \"rgb(204, 65, 37)\",\n \"rgb(224, 102, 102)\",\n \"rgb(246, 178, 107)\",\n \"rgb(255, 217, 102)\",\n \"rgb(147, 196, 125)\",\n \"rgb(118, 165, 175)\",\n \"rgb(109, 158, 235)\",\n \"rgb(111, 168, 220)\",\n \"rgb(142, 124, 195)\",\n \"rgb(194, 123, 160)\",\n \"rgb(166, 28, 0)\",\n \"rgb(204, 0, 0)\",\n \"rgb(230, 145, 56)\",\n \"rgb(241, 194, 50)\",\n \"rgb(106, 168, 79)\",\n \"rgb(69, 129, 142)\",\n \"rgb(60, 120, 216)\",\n \"rgb(61, 133, 198)\",\n \"rgb(103, 78, 167)\",\n \"rgb(166, 77, 121)\",\n \"rgb(91, 15, 0)\",\n \"rgb(102, 0, 0)\",\n \"rgb(120, 63, 4)\",\n \"rgb(127, 96, 0)\",\n \"rgb(39, 78, 19)\",\n \"rgb(12, 52, 61)\",\n \"rgb(28, 69, 135)\",\n \"rgb(7, 55, 99)\",\n \"rgb(32, 18, 77)\",\n \"rgb(76, 17, 48)\"\n ]\n ]\n }\n },\n {\n \"name\": \"boxShadow\",\n \"type\": \"boolean\",\n \"label\": \"Box shadow\",\n \"default\": true,\n \"description\": \"Adds a subtle shadow around the interaction. You might want to disable this for completely transparent interactions\"\n }\n ]\n },\n {\n \"name\": \"goto\",\n \"label\": \"Go to on click\",\n \"importance\": \"low\",\n \"type\": \"group\",\n \"fields\": [\n {\n \"name\": \"type\",\n \"label\": \"Type\",\n \"type\": \"select\",\n \"widget\": \"selectToggleFields\",\n \"options\": [\n {\n \"value\": \"timecode\",\n \"label\": \"Timecode\",\n \"hideFields\": [\n \"url\"\n ]\n },\n {\n \"value\": \"url\",\n \"label\": \"Another page (URL)\",\n \"hideFields\": [\n \"time\"\n ]\n }\n ],\n \"optional\": true\n },\n {\n \"name\": \"time\",\n \"type\": \"number\",\n \"widget\": \"timecode\",\n \"label\": \"Go To\",\n \"description\": \"The target time the user will be taken to upon pressing the hotspot. Enter timecode in the format M:SS.\",\n \"optional\": true\n },\n {\n \"name\": \"url\",\n \"type\": \"group\",\n \"label\": \"URL\",\n \"widget\": \"linkWidget\",\n \"optional\": true,\n \"fields\": [\n {\n \"name\": \"protocol\",\n \"type\": \"select\",\n \"label\": \"Protocol\",\n \"options\": [\n {\n \"value\": \"http://\",\n \"label\": \"http://\"\n },\n {\n \"value\": \"https://\",\n \"label\": \"https://\"\n },\n {\n \"value\": \"/\",\n \"label\": \"(root relative)\"\n },\n {\n \"value\": \"other\",\n \"label\": \"other\"\n }\n ],\n \"optional\": true,\n \"default\": \"http://\"\n },\n {\n \"name\": \"url\",\n \"type\": \"text\",\n \"label\": \"URL\",\n \"optional\": true\n }\n ]\n },\n {\n \"name\": \"visualize\",\n \"type\": \"boolean\",\n \"label\": \"Visualize\",\n \"description\": \"Show that interaction can be clicked by adding a border and an icon\"\n }\n ]\n }\n ]\n }\n },\n {\n \"name\": \"bookmarks\",\n \"importance\": \"low\",\n \"type\": \"list\",\n \"field\": {\n \"name\": \"bookmark\",\n \"type\": \"group\",\n \"fields\": [\n {\n \"name\": \"time\",\n \"type\": \"number\"\n },\n {\n \"name\": \"label\",\n \"type\": \"text\"\n }\n ]\n }\n },\n {\n \"name\": \"endscreens\",\n \"importance\": \"low\",\n \"type\": \"list\",\n \"field\": {\n \"name\": \"endscreen\",\n \"type\": \"group\",\n \"fields\": [\n {\n \"name\": \"time\",\n \"type\": \"number\"\n },\n {\n \"name\": \"label\",\n \"type\": \"text\"\n }\n ]\n }\n }\n ]\n },\n {\n \"name\": \"summary\",\n \"type\": \"group\",\n \"label\": \"Summary task\",\n \"importance\": \"high\",\n \"fields\": [\n {\n \"name\": \"task\",\n \"type\": \"library\",\n \"options\": [\n \"H5P.Summary 1.10\"\n ],\n \"default\": {\n \"library\": \"H5P.Summary 1.10\",\n \"params\": {}\n }\n },\n {\n \"name\": \"displayAt\",\n \"type\": \"number\",\n \"label\": \"Display at\",\n \"description\": \"Number of seconds before the video ends.\",\n \"default\": 3\n }\n ]\n }\n ]\n },\n {\n \"name\": \"override\",\n \"type\": \"group\",\n \"label\": \"Behavioural settings\",\n \"importance\": \"low\",\n \"optional\": true,\n \"fields\": [\n {\n \"name\": \"startVideoAt\",\n \"type\": \"number\",\n \"widget\": \"timecode\",\n \"label\": \"Start video at\",\n \"importance\": \"low\",\n \"optional\": true,\n \"description\": \"Enter timecode in the format M:SS\"\n },\n {\n \"name\": \"autoplay\",\n \"type\": \"boolean\",\n \"label\": \"Auto-play video\",\n \"default\": false,\n \"optional\": true,\n \"description\": \"Start playing the video automatically\"\n },\n {\n \"name\": \"loop\",\n \"type\": \"boolean\",\n \"label\": \"Loop the video\",\n \"default\": false,\n \"optional\": true,\n \"description\": \"Check if video should run in a loop\"\n },\n {\n \"name\": \"showSolutionButton\",\n \"type\": \"select\",\n \"label\": \"Override \\\"Show Solution\\\" button\",\n \"importance\": \"low\",\n \"description\": \"This option determines if the \\\"Show Solution\\\" button will be shown for all questions, disabled for all or configured for each question individually.\",\n \"optional\": true,\n \"options\": [\n {\n \"value\": \"on\",\n \"label\": \"Enabled\"\n },\n {\n \"value\": \"off\",\n \"label\": \"Disabled\"\n }\n ]\n },\n {\n \"name\": \"retryButton\",\n \"type\": \"select\",\n \"label\": \"Override \\\"Retry\\\" button\",\n \"importance\": \"low\",\n \"description\": \"This option determines if the \\\"Retry\\\" button will be shown for all questions, disabled for all or configured for each question individually.\",\n \"optional\": true,\n \"options\": [\n {\n \"value\": \"on\",\n \"label\": \"Enabled\"\n },\n {\n \"value\": \"off\",\n \"label\": \"Disabled\"\n }\n ]\n },\n {\n \"name\": \"showBookmarksmenuOnLoad\",\n \"type\": \"boolean\",\n \"label\": \"Start with bookmarks menu open\",\n \"importance\": \"low\",\n \"default\": false,\n \"description\": \"This function is not available on iPad when using YouTube as video source.\"\n },\n {\n \"name\": \"showRewind10\",\n \"type\": \"boolean\",\n \"label\": \"Show button for rewinding 10 seconds\",\n \"importance\": \"low\",\n \"default\": false\n },\n {\n \"name\": \"preventSkipping\",\n \"type\": \"boolean\",\n \"default\": false,\n \"label\": \"Prevent skipping forward in a video\",\n \"importance\": \"low\",\n \"description\": \"Enabling this options will disable user video navigation through default controls.\"\n },\n {\n \"name\": \"deactivateSound\",\n \"type\": \"boolean\",\n \"default\": false,\n \"label\": \"Deactivate sound\",\n \"importance\": \"low\",\n \"description\": \"Enabling this option will deactivate the video's sound and prevent it from being switched on.\"\n }\n ]\n },\n {\n \"name\": \"l10n\",\n \"type\": \"group\",\n \"label\": \"Localize\",\n \"importance\": \"low\",\n \"common\": true,\n \"optional\": true,\n \"fields\": [\n {\n \"name\": \"interaction\",\n \"type\": \"text\",\n \"label\": \"Interaction title\",\n \"importance\": \"low\",\n \"default\": \"Interaction\",\n \"optional\": true\n },\n {\n \"name\": \"play\",\n \"type\": \"text\",\n \"label\": \"Play title\",\n \"importance\": \"low\",\n \"default\": \"Play\",\n \"optional\": true\n },\n {\n \"name\": \"pause\",\n \"type\": \"text\",\n \"label\": \"Pause title\",\n \"importance\": \"low\",\n \"default\": \"Pause\",\n \"optional\": true\n },\n {\n \"name\": \"mute\",\n \"type\": \"text\",\n \"label\": \"Mute title\",\n \"importance\": \"low\",\n \"default\": \"Mute\",\n \"optional\": true\n },\n {\n \"name\": \"unmute\",\n \"type\": \"text\",\n \"label\": \"Unmute title\",\n \"importance\": \"low\",\n \"default\": \"Unmute\",\n \"optional\": true\n },\n {\n \"name\": \"quality\",\n \"type\": \"text\",\n \"label\": \"Video quality title\",\n \"importance\": \"low\",\n \"default\": \"Video Quality\",\n \"optional\": true\n },\n {\n \"name\": \"captions\",\n \"type\": \"text\",\n \"label\": \"Video captions title\",\n \"importance\": \"low\",\n \"default\": \"Captions\",\n \"optional\": true\n },\n {\n \"name\": \"close\",\n \"type\": \"text\",\n \"label\": \"Close button text\",\n \"importance\": \"low\",\n \"default\": \"Close\",\n \"optional\": true\n },\n {\n \"name\": \"fullscreen\",\n \"type\": \"text\",\n \"label\": \"Fullscreen title\",\n \"importance\": \"low\",\n \"default\": \"Fullscreen\",\n \"optional\": true\n },\n {\n \"name\": \"exitFullscreen\",\n \"type\": \"text\",\n \"label\": \"Exit fullscreen title\",\n \"importance\": \"low\",\n \"default\": \"Exit Fullscreen\",\n \"optional\": true\n },\n {\n \"name\": \"summary\",\n \"type\": \"text\",\n \"label\": \"Summary title\",\n \"importance\": \"low\",\n \"default\": \"Open summary dialog\",\n \"optional\": true\n },\n {\n \"name\": \"bookmarks\",\n \"type\": \"text\",\n \"label\": \"Bookmarks title\",\n \"importance\": \"low\",\n \"default\": \"Bookmarks\",\n \"optional\": true\n },\n {\n \"name\": \"endscreen\",\n \"type\": \"text\",\n \"label\": \"Submit screen title\",\n \"importance\": \"low\",\n \"default\": \"Submit screen\",\n \"optional\": true\n },\n {\n \"name\": \"defaultAdaptivitySeekLabel\",\n \"type\": \"text\",\n \"label\": \"Default label for adaptivity seek button\",\n \"importance\": \"low\",\n \"default\": \"Continue\",\n \"optional\": true\n },\n {\n \"name\": \"continueWithVideo\",\n \"type\": \"text\",\n \"label\": \"Default label for continue video button\",\n \"importance\": \"low\",\n \"default\": \"Continue with video\",\n \"optional\": true\n },\n {\n \"name\": \"playbackRate\",\n \"type\": \"text\",\n \"label\": \"Set playback rate\",\n \"importance\": \"low\",\n \"default\": \"Playback Rate\",\n \"optional\": true\n },\n {\n \"name\": \"rewind10\",\n \"type\": \"text\",\n \"label\": \"Rewind 10 Seconds\",\n \"importance\": \"low\",\n \"default\": \"Rewind 10 Seconds\",\n \"optional\": true\n },\n {\n \"name\": \"navDisabled\",\n \"type\": \"text\",\n \"label\": \"Navigation is disabled text\",\n \"importance\": \"low\",\n \"default\": \"Navigation is disabled\",\n \"optional\": true\n },\n {\n \"name\": \"sndDisabled\",\n \"type\": \"text\",\n \"label\": \"Sound is disabled text\",\n \"importance\": \"low\",\n \"default\": \"Sound is disabled\",\n \"optional\": true\n },\n {\n \"name\": \"requiresCompletionWarning\",\n \"type\": \"text\",\n \"label\": \"Warning that the user must answer the question correctly before continuing\",\n \"importance\": \"low\",\n \"default\": \"You need to answer all the questions correctly before continuing.\",\n \"optional\": true\n },\n {\n \"name\": \"back\",\n \"type\": \"text\",\n \"label\": \"Back button\",\n \"importance\": \"low\",\n \"default\": \"Back\",\n \"optional\": true\n },\n {\n \"name\": \"hours\",\n \"type\": \"text\",\n \"label\": \"Passed time hours\",\n \"importance\": \"low\",\n \"default\": \"Hours\",\n \"optional\": true\n },\n {\n \"name\": \"minutes\",\n \"type\": \"text\",\n \"label\": \"Passed time minutes\",\n \"importance\": \"low\",\n \"default\": \"Minutes\",\n \"optional\": true\n },\n {\n \"name\": \"seconds\",\n \"type\": \"text\",\n \"label\": \"Passed time seconds\",\n \"importance\": \"low\",\n \"default\": \"Seconds\",\n \"optional\": true\n },\n {\n \"name\": \"currentTime\",\n \"type\": \"text\",\n \"label\": \"Label for current time\",\n \"importance\": \"low\",\n \"default\": \"Current time:\",\n \"optional\": true\n },\n {\n \"name\": \"totalTime\",\n \"type\": \"text\",\n \"label\": \"Label for total time\",\n \"importance\": \"low\",\n \"default\": \"Total time:\",\n \"optional\": true\n },\n {\n \"name\": \"singleInteractionAnnouncement\",\n \"type\": \"text\",\n \"label\": \"Text explaining that a single interaction with a name has come into view\",\n \"importance\": \"low\",\n \"default\": \"Interaction appeared:\",\n \"optional\": true\n },\n {\n \"name\": \"multipleInteractionsAnnouncement\",\n \"type\": \"text\",\n \"label\": \"Text for explaining that multiple interactions have come into view\",\n \"importance\": \"low\",\n \"default\": \"Multiple interactions appeared.\",\n \"optional\": true\n },\n {\n \"name\": \"videoPausedAnnouncement\",\n \"type\": \"text\",\n \"label\": \"Video is paused announcement\",\n \"importance\": \"low\",\n \"default\": \"Video is paused\",\n \"optional\": true\n },\n {\n \"name\": \"content\",\n \"type\": \"text\",\n \"label\": \"Content label\",\n \"importance\": \"low\",\n \"default\": \"Content\",\n \"optional\": true\n },\n {\n \"name\": \"answered\",\n \"type\": \"text\",\n \"label\": \"Answered message (@answered will be replaced with the number of answered questions)\",\n \"importance\": \"low\",\n \"default\": \"@answered answered\",\n \"optional\": true\n },\n {\n \"name\": \"endcardTitle\",\n \"type\": \"text\",\n \"label\": \"Submit screen title\",\n \"importance\": \"low\",\n \"default\": \"@answered Question(s) answered\",\n \"description\": \"@answered will be replaced by the number of answered questions.\",\n \"optional\": true\n },\n {\n \"name\": \"endcardInformation\",\n \"type\": \"text\",\n \"label\": \"Submit screen information\",\n \"importance\": \"low\",\n \"default\": \"You have answered @answered questions, click below to submit your answers.\",\n \"description\": \"@answered will be replaced by the number of answered questions.\",\n \"optional\": true\n },\n {\n \"name\": \"endcardInformationNoAnswers\",\n \"type\": \"text\",\n \"label\": \"Submit screen information for missing answers\",\n \"importance\": \"low\",\n \"default\": \"You have not answered any questions.\",\n \"optional\": true\n },\n {\n \"name\": \"endcardInformationMustHaveAnswer\",\n \"type\": \"text\",\n \"label\": \"Submit screen information for answer needed\",\n \"importance\": \"low\",\n \"default\": \"You have to answer at least one question before you can submit your answers.\",\n \"optional\": true\n },\n {\n \"name\": \"endcardSubmitButton\",\n \"type\": \"text\",\n \"label\": \"Submit screen submit button\",\n \"importance\": \"low\",\n \"default\": \"Submit Answers\",\n \"optional\": true\n },\n {\n \"name\": \"endcardSubmitMessage\",\n \"type\": \"text\",\n \"label\": \"Submit screen submit message\",\n \"importance\": \"low\",\n \"default\": \"Your answers have been submitted!\",\n \"optional\": true\n },\n {\n \"name\": \"endcardTableRowAnswered\",\n \"type\": \"text\",\n \"label\": \"Submit screen table row title: Answered questions\",\n \"importance\": \"low\",\n \"default\": \"Answered questions\",\n \"optional\": true\n },\n {\n \"name\": \"endcardTableRowScore\",\n \"type\": \"text\",\n \"label\": \"Submit screen table row title: Score\",\n \"importance\": \"low\",\n \"default\": \"Score\",\n \"optional\": true\n },\n {\n \"name\": \"endcardAnsweredScore\",\n \"type\": \"text\",\n \"label\": \"Submit screen answered score\",\n \"importance\": \"low\",\n \"default\": \"answered\",\n \"optional\": true\n },\n {\n \"name\": \"endCardTableRowSummaryWithScore\",\n \"type\": \"text\",\n \"label\": \"Submit screen row summary including score (for readspeakers)\",\n \"importance\": \"low\",\n \"default\": \"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\n \"optional\": true\n },\n {\n \"name\": \"endCardTableRowSummaryWithoutScore\",\n \"type\": \"text\",\n \"label\": \"Submit screen row summary for no score (for readspeakers)\",\n \"importance\": \"low\",\n \"default\": \"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\",\n \"optional\": true\n }\n ]\n }\n]",
"tutorial_url": "",
"has_icon": 1
},
"created_at": "2020-09-30T20:24:58.000000Z",
"updated_at": "2020-09-30T20:24:58.000000Z"
},
"created_at": "2020-09-30T20:24:58.000000Z",
"updated_at": "2020-09-30T20:24:58.000000Z"
}
]
}
Received response:
Request failed with error:
Create Activity
Create a new activity.
Example request:
curl --request POST \
"http://localhost:8000/api/v1/suborganizations/1/stand-alone-activity" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"title\": \"Science of Golf: Why Balls Have Dimples\",
\"content\": \"rerum\",
\"description\": \"zsxuyuzjxirqqrpmaobqlzbxscucvpkewrpnwwtmygepubypcijlsqlnnfvurymaffbnydeopefxxteyajiqgirpjzurwrveuhgioylbaheibpivjdihgdnoyiggjwpelylitlukifuzervbimlbyr\",
\"order\": 2,
\"shared\": false,
\"h5p_content_id\": 59,
\"thumb_url\": \"null\",
\"subject_id\": [
1,
2
],
\"education_level_id\": [
1,
2
],
\"author_tag_id\": [
1,
2
],
\"organization_id\": 6,
\"source_type\": \"voluptates\",
\"source_url\": \"sed\"
}"
const url = new URL(
"http://localhost:8000/api/v1/suborganizations/1/stand-alone-activity"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"title": "Science of Golf: Why Balls Have Dimples",
"content": "rerum",
"description": "zsxuyuzjxirqqrpmaobqlzbxscucvpkewrpnwwtmygepubypcijlsqlnnfvurymaffbnydeopefxxteyajiqgirpjzurwrveuhgioylbaheibpivjdihgdnoyiggjwpelylitlukifuzervbimlbyr",
"order": 2,
"shared": false,
"h5p_content_id": 59,
"thumb_url": "null",
"subject_id": [
1,
2
],
"education_level_id": [
1,
2
],
"author_tag_id": [
1,
2
],
"organization_id": 6,
"source_type": "voluptates",
"source_url": "sed"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/suborganizations/1/stand-alone-activity',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'title' => 'Science of Golf: Why Balls Have Dimples',
'content' => 'rerum',
'description' => 'zsxuyuzjxirqqrpmaobqlzbxscucvpkewrpnwwtmygepubypcijlsqlnnfvurymaffbnydeopefxxteyajiqgirpjzurwrveuhgioylbaheibpivjdihgdnoyiggjwpelylitlukifuzervbimlbyr',
'order' => 2,
'shared' => false,
'h5p_content_id' => 59,
'thumb_url' => 'null',
'subject_id' => [
1,
2,
],
'education_level_id' => [
1,
2,
],
'author_tag_id' => [
1,
2,
],
'organization_id' => 6,
'source_type' => 'voluptates',
'source_url' => 'sed',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (500):
{
"errors": [
"Could not create activity. Please try again later."
]
}
Example response (201):
{
"activity": {
"id": 1,
"playlist_id": 1,
"title": "Science of Golf: Why Balls Have Dimples",
"type": "h5p",
"content": "",
"shared": false,
"order": 2,
"thumb_url": null,
"subjects": [
{
"id": 4,
"name": "English",
"order": 3,
"created_at": "2022-01-06T11:59:52.000000Z",
"updated_at": "2022-01-06T12:15:10.000000Z"
},
{
"id": 1,
"name": "Math",
"order": 1,
"created_at": "2022-01-06T11:41:46.000000Z",
"updated_at": "2022-01-06T11:41:46.000000Z"
}
],
"education_levels": [
{
"id": 1,
"name": "Grade A",
"order": 5,
"created_at": "2022-01-07T13:51:38.000000Z",
"updated_at": "2022-01-07T14:07:17.000000Z"
},
{
"id": 1,
"name": "Grade B",
"order": 6,
"created_at": "2022-01-07T13:51:38.000000Z",
"updated_at": "2022-01-07T14:07:17.000000Z"
}
],
"author_tags": [
{
"id": 1,
"name": "Audio",
"order": 1,
"created_at": "2022-01-10T13:09:36.000000Z",
"updated_at": "2022-01-10T13:09:36.000000Z"
},
{
"id": 2,
"name": "Video",
"order": 2,
"created_at": "2022-01-10T13:09:44.000000Z",
"updated_at": "2022-01-10T13:20:57.000000Z"
}
],
"gcr_activity_visibility": true,
"h5p_content": {
"id": 59,
"user_id": 1,
"title": "Science of Golf: Why Balls Have Dimples",
"library_id": 40,
"parameters": "{\"interactiveVideo\":{\"video\":{\"startScreenOptions\":{\"title\":\"Interactive Video\",\"hideStartTitle\":false},\"textTracks\":{\"videoTrack\":[{\"label\":\"Subtitles\",\"kind\":\"subtitles\",\"srcLang\":\"en\"}]},\"files\":[{\"path\":\"https://youtu.be/fcjaxC-e8oY\",\"mime\":\"video/YouTube\",\"copyright\":{\"license\":\"U\"},\"aspectRatio\":\"16:9\"}]},\"assets\":{\"interactions\":[{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":58.33,\"to\":68.33},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"133bca3d-cfe9-442d-a887-8bf1e2ce682a\",\"question\":\"<p>Why do golf balls have dimples?</p>\\n\",\"answers\":[\"<p>They reduce wind resistance.</p>\\n\",\"<p>They make the ball more visually interesting.</p>\\n\",\"<p>They grip the putting green better than a smooth ball.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"ac029b43-7225-49ed-a2d7-8656037748e0\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Why do golf balls have dimples?\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Why do golf balls have dimples?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Why do golf balls have dimples?</p>\\n\"},{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":132.969,\"to\":142.969},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"308503f3-8d41-4f4f-b016-587bcce3dfac\",\"question\":\"<p>A smooth ball will have a detached airflow, which causes what?</p>\\n\",\"answers\":[\"<p>A low pressure zone, which is what causes drag.</p>\\n\",\"<p>The ball has no spin.</p>\\n\",\"<p>The ball travels higher, but for a shorter distance.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"f70c849d-9542-4f30-9116-8b60b7da708d\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Smooth Ball?\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Smooth Ball?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Smooth Ball</p>\\n\"}],\"bookmarks\":[],\"endscreens\":[{\"time\":295,\"label\":\"4:55 Submit screen\"}]},\"summary\":{\"task\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"8e2cf84f-4557-4f79-a03e-526838498a7d\",\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"8d5527ef-3601-4ad9-9e63-2782c9775173\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Untitled Summary\"}},\"displayAt\":3}},\"override\":{\"autoplay\":false,\"loop\":false,\"showBookmarksmenuOnLoad\":false,\"showRewind10\":false,\"preventSkipping\":false,\"deactivateSound\":false},\"l10n\":{\"interaction\":\"Interaction\",\"play\":\"Play\",\"pause\":\"Pause\",\"mute\":\"Mute\",\"unmute\":\"Unmute\",\"quality\":\"Video Quality\",\"captions\":\"Captions\",\"close\":\"Close\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit Fullscreen\",\"summary\":\"Open summary dialog\",\"bookmarks\":\"Bookmarks\",\"endscreen\":\"Submit screen\",\"defaultAdaptivitySeekLabel\":\"Continue\",\"continueWithVideo\":\"Continue with video\",\"playbackRate\":\"Playback Rate\",\"rewind10\":\"Rewind 10 Seconds\",\"navDisabled\":\"Navigation is disabled\",\"sndDisabled\":\"Sound is disabled\",\"requiresCompletionWarning\":\"You need to answer all the questions correctly before continuing.\",\"back\":\"Back\",\"hours\":\"Hours\",\"minutes\":\"Minutes\",\"seconds\":\"Seconds\",\"currentTime\":\"Current time:\",\"totalTime\":\"Total time:\",\"singleInteractionAnnouncement\":\"Interaction appeared:\",\"multipleInteractionsAnnouncement\":\"Multiple interactions appeared.\",\"videoPausedAnnouncement\":\"Video is paused\",\"content\":\"Content\",\"answered\":\"@answered answered\",\"endcardTitle\":\"@answered Question(s) answered\",\"endcardInformation\":\"You have answered @answered questions, click below to submit your answers.\",\"endcardInformationNoAnswers\":\"You have not answered any questions.\",\"endcardInformationMustHaveAnswer\":\"You have to answer at least one question before you can submit your answers.\",\"endcardSubmitButton\":\"Submit Answers\",\"endcardSubmitMessage\":\"Your answers have been submitted!\",\"endcardTableRowAnswered\":\"Answered questions\",\"endcardTableRowScore\":\"Score\",\"endcardAnsweredScore\":\"answered\",\"endCardTableRowSummaryWithScore\":\"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\"endCardTableRowSummaryWithoutScore\":\"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\"}}",
"filtered": "{\"interactiveVideo\":{\"video\":{\"startScreenOptions\":{\"title\":\"Interactive Video\",\"hideStartTitle\":false},\"textTracks\":{\"videoTrack\":[{\"label\":\"Subtitles\",\"kind\":\"subtitles\",\"srcLang\":\"en\"}]},\"files\":[{\"path\":\"https://youtu.be/fcjaxC-e8oY\",\"mime\":\"video/YouTube\",\"copyright\":{\"license\":\"U\"}}]},\"assets\":{\"interactions\":[{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":58.33,\"to\":68.33},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"133bca3d-cfe9-442d-a887-8bf1e2ce682a\",\"question\":\"<p>Why do golf balls have dimples?</p>\\n\",\"answers\":[\"<p>They reduce wind resistance.</p>\\n\",\"<p>They make the ball more visually interesting.</p>\\n\",\"<p>They grip the putting green better than a smooth ball.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"ac029b43-7225-49ed-a2d7-8656037748e0\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Why do golf balls have dimples?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Why do golf balls have dimples?</p>\\n\"},{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":132.969,\"to\":142.969},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"308503f3-8d41-4f4f-b016-587bcce3dfac\",\"question\":\"<p>A smooth ball will have a detached airflow, which causes what?</p>\\n\",\"answers\":[\"<p>A low pressure zone, which is what causes drag.</p>\\n\",\"<p>The ball has no spin.</p>\\n\",\"<p>The ball travels higher, but for a shorter distance.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"f70c849d-9542-4f30-9116-8b60b7da708d\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Smooth Ball?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Smooth Ball</p>\\n\"}],\"endscreens\":[{\"time\":295,\"label\":\"4:55 Submit screen\"}]},\"summary\":{\"task\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"8e2cf84f-4557-4f79-a03e-526838498a7d\",\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"8d5527ef-3601-4ad9-9e63-2782c9775173\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\"}},\"displayAt\":3}},\"override\":{\"autoplay\":false,\"loop\":false,\"showBookmarksmenuOnLoad\":false,\"showRewind10\":false,\"preventSkipping\":false,\"deactivateSound\":false},\"l10n\":{\"interaction\":\"Interaction\",\"play\":\"Play\",\"pause\":\"Pause\",\"mute\":\"Mute\",\"unmute\":\"Unmute\",\"quality\":\"Video Quality\",\"captions\":\"Captions\",\"close\":\"Close\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit Fullscreen\",\"summary\":\"Open summary dialog\",\"bookmarks\":\"Bookmarks\",\"endscreen\":\"Submit screen\",\"defaultAdaptivitySeekLabel\":\"Continue\",\"continueWithVideo\":\"Continue with video\",\"playbackRate\":\"Playback Rate\",\"rewind10\":\"Rewind 10 Seconds\",\"navDisabled\":\"Navigation is disabled\",\"sndDisabled\":\"Sound is disabled\",\"requiresCompletionWarning\":\"You need to answer all the questions correctly before continuing.\",\"back\":\"Back\",\"hours\":\"Hours\",\"minutes\":\"Minutes\",\"seconds\":\"Seconds\",\"currentTime\":\"Current time:\",\"totalTime\":\"Total time:\",\"singleInteractionAnnouncement\":\"Interaction appeared:\",\"multipleInteractionsAnnouncement\":\"Multiple interactions appeared.\",\"videoPausedAnnouncement\":\"Video is paused\",\"content\":\"Content\",\"answered\":\"@answered answered\",\"endcardTitle\":\"@answered Question(s) answered\",\"endcardInformation\":\"You have answered @answered questions, click below to submit your answers.\",\"endcardInformationNoAnswers\":\"You have not answered any questions.\",\"endcardInformationMustHaveAnswer\":\"You have to answer at least one question before you can submit your answers.\",\"endcardSubmitButton\":\"Submit Answers\",\"endcardSubmitMessage\":\"Your answers have been submitted!\",\"endcardTableRowAnswered\":\"Answered questions\",\"endcardTableRowScore\":\"Score\",\"endcardAnsweredScore\":\"answered\",\"endCardTableRowSummaryWithScore\":\"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\"endCardTableRowSummaryWithoutScore\":\"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\"}}",
"slug": "science-of-golf-why-balls-have-dimples",
"embed_type": "div",
"disable": 9,
"content_type": null,
"authors": null,
"source": null,
"year_from": null,
"year_to": null,
"license": "U",
"license_version": null,
"license_extras": null,
"author_comments": null,
"changes": null,
"default_language": null,
"library": {
"id": 40,
"created_at": null,
"updated_at": null,
"name": "H5P.InteractiveVideo",
"title": "Interactive Video",
"major_version": 1,
"minor_version": 21,
"patch_version": 9,
"runnable": 1,
"restricted": 0,
"fullscreen": 1,
"embed_types": "iframe",
"preloaded_js": "dist/h5p-interactive-video.js",
"preloaded_css": "dist/h5p-interactive-video.css",
"drop_library_css": "",
"semantics": "[\n {\n \"name\": \"interactiveVideo\",\n \"type\": \"group\",\n \"widget\": \"wizard\",\n \"label\": \"Interactive Video Editor\",\n \"importance\": \"high\",\n \"fields\": [\n {\n \"name\": \"video\",\n \"type\": \"group\",\n \"label\": \"Upload/embed video\",\n \"importance\": \"high\",\n \"fields\": [\n {\n \"name\": \"files\",\n \"type\": \"video\",\n \"label\": \"Add a video\",\n \"importance\": \"high\",\n \"description\": \"Click below to add a video you wish to use in your interactive video. You can add a video link or upload video files. It is possible to add several versions of the video with different qualities. To ensure maximum support in browsers at least add a version in webm and mp4 formats.\",\n \"extraAttributes\": [\n \"metadata\"\n ],\n \"enableCustomQualityLabel\": true\n },\n {\n \"name\": \"startScreenOptions\",\n \"type\": \"group\",\n \"label\": \"Start screen options (unsupported for YouTube videos)\",\n \"importance\": \"low\",\n \"fields\": [\n {\n \"name\": \"title\",\n \"type\": \"text\",\n \"label\": \"The title of this interactive video\",\n \"importance\": \"low\",\n \"maxLength\": 60,\n \"default\": \"Interactive Video\",\n \"description\": \"Used in summaries, statistics etc.\"\n },\n {\n \"name\": \"hideStartTitle\",\n \"type\": \"boolean\",\n \"label\": \"Hide title on video start screen\",\n \"importance\": \"low\",\n \"optional\": true,\n \"default\": false\n },\n {\n \"name\": \"shortStartDescription\",\n \"type\": \"text\",\n \"label\": \"Short description (Optional)\",\n \"importance\": \"low\",\n \"optional\": true,\n \"maxLength\": 120,\n \"description\": \"Optional. Display a short description text on the video start screen. Does not work for YouTube videos.\"\n },\n {\n \"name\": \"poster\",\n \"type\": \"image\",\n \"label\": \"Poster image\",\n \"importance\": \"low\",\n \"optional\": true,\n \"description\": \"Image displayed before the user launches the video. Does not work for YouTube Videos.\"\n }\n ]\n },\n {\n \"name\": \"textTracks\",\n \"type\": \"group\",\n \"label\": \"Text tracks (unsupported for YouTube videos)\",\n \"importance\": \"low\",\n \"fields\": [\n {\n \"name\": \"videoTrack\",\n \"type\": \"list\",\n \"label\": \"Available text tracks\",\n \"importance\": \"low\",\n \"optional\": true,\n \"entity\": \"Track\",\n \"min\": 0,\n \"defaultNum\": 1,\n \"field\": {\n \"name\": \"track\",\n \"type\": \"group\",\n \"label\": \"Track\",\n \"importance\": \"low\",\n \"expanded\": false,\n \"fields\": [\n {\n \"name\": \"label\",\n \"type\": \"text\",\n \"label\": \"Track label\",\n \"description\": \"Used if you offer multiple tracks and the user has to choose a track. For instance 'Spanish subtitles' could be the label of a Spanish subtitle track.\",\n \"importance\": \"low\",\n \"default\": \"Subtitles\",\n \"optional\": true\n },\n {\n \"name\": \"kind\",\n \"type\": \"select\",\n \"label\": \"Type of text track\",\n \"importance\": \"low\",\n \"default\": \"subtitles\",\n \"options\": [\n {\n \"value\": \"subtitles\",\n \"label\": \"Subtitles\"\n },\n {\n \"value\": \"captions\",\n \"label\": \"Captions\"\n },\n {\n \"value\": \"descriptions\",\n \"label\": \"Descriptions\"\n }\n ]\n },\n {\n \"name\": \"srcLang\",\n \"type\": \"text\",\n \"label\": \"Source language, must be defined for subtitles\",\n \"importance\": \"low\",\n \"default\": \"en\",\n \"description\": \"Must be a valid BCP 47 language tag. If 'Subtitles' is the type of text track selected, the source language of the track must be defined.\"\n },\n {\n \"name\": \"track\",\n \"type\": \"file\",\n \"label\": \"Track source (WebVTT file)\",\n \"importance\": \"low\"\n }\n ]\n }\n },\n {\n \"name\": \"defaultTrackLabel\",\n \"type\": \"text\",\n \"label\": \"Default text track\",\n \"description\": \"If left empty or not matching any of the text tracks the first text track will be used as the default.\",\n \"importance\": \"low\",\n \"optional\": true\n }\n ]\n }\n ]\n },\n {\n \"name\": \"assets\",\n \"type\": \"group\",\n \"label\": \"Add interactions\",\n \"importance\": \"high\",\n \"widget\": \"interactiveVideo\",\n \"video\": \"video/files\",\n \"poster\": \"video/startScreenOptions/poster\",\n \"fields\": [\n {\n \"name\": \"interactions\",\n \"type\": \"list\",\n \"field\": {\n \"name\": \"interaction\",\n \"type\": \"group\",\n \"fields\": [\n {\n \"name\": \"duration\",\n \"type\": \"group\",\n \"widget\": \"duration\",\n \"label\": \"Display time\",\n \"importance\": \"low\",\n \"fields\": [\n {\n \"name\": \"from\",\n \"type\": \"number\"\n },\n {\n \"name\": \"to\",\n \"type\": \"number\"\n }\n ]\n },\n {\n \"name\": \"pause\",\n \"label\": \"Pause video\",\n \"importance\": \"low\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"displayType\",\n \"label\": \"Display as\",\n \"importance\": \"low\",\n \"description\": \"<b>Button</b> is a collapsed interaction the user must press to open. <b>Poster</b> is an expanded interaction displayed directly on top of the video\",\n \"type\": \"select\",\n \"widget\": \"imageRadioButtonGroup\",\n \"options\": [\n {\n \"value\": \"button\",\n \"label\": \"Button\"\n },\n {\n \"value\": \"poster\",\n \"label\": \"Poster\"\n }\n ],\n \"default\": \"button\"\n },\n {\n \"name\": \"buttonOnMobile\",\n \"label\": \"Turn into button on small screens\",\n \"importance\": \"low\",\n \"type\": \"boolean\",\n \"default\": false\n },\n {\n \"name\": \"label\",\n \"type\": \"text\",\n \"widget\": \"html\",\n \"label\": \"Label\",\n \"importance\": \"low\",\n \"description\": \"Label displayed next to interaction icon.\",\n \"optional\": true,\n \"enterMode\": \"p\",\n \"tags\": [\n \"p\"\n ]\n },\n {\n \"name\": \"x\",\n \"type\": \"number\",\n \"importance\": \"low\",\n \"widget\": \"none\"\n },\n {\n \"name\": \"y\",\n \"type\": \"number\",\n \"importance\": \"low\",\n \"widget\": \"none\"\n },\n {\n \"name\": \"width\",\n \"type\": \"number\",\n \"widget\": \"none\",\n \"importance\": \"low\",\n \"optional\": true\n },\n {\n \"name\": \"height\",\n \"type\": \"number\",\n \"widget\": \"none\",\n \"importance\": \"low\",\n \"optional\": true\n },\n {\n \"name\": \"libraryTitle\",\n \"type\": \"text\",\n \"importance\": \"low\",\n \"optional\": true,\n \"widget\": \"none\"\n },\n {\n \"name\": \"action\",\n \"type\": \"library\",\n \"importance\": \"low\",\n \"options\": [\n \"H5P.Nil 1.0\",\n \"H5P.Text 1.1\",\n \"H5P.Table 1.1\",\n \"H5P.Link 1.3\",\n \"H5P.Image 1.1\",\n \"H5P.Summary 1.10\",\n \"H5P.SingleChoiceSet 1.11\",\n \"H5P.MultiChoice 1.14\",\n \"H5P.TrueFalse 1.6\",\n \"H5P.Blanks 1.12\",\n \"H5P.DragQuestion 1.13\",\n \"H5P.MarkTheWords 1.9\",\n \"H5P.DragText 1.8\",\n \"H5P.GoToQuestion 1.3\",\n \"H5P.IVHotspot 1.2\",\n \"H5P.Questionnaire 1.2\",\n \"H5P.FreeTextQuestion 1.0\"\n ]\n },\n {\n \"name\": \"adaptivity\",\n \"type\": \"group\",\n \"label\": \"Adaptivity\",\n \"importance\": \"low\",\n \"optional\": true,\n \"fields\": [\n {\n \"name\": \"correct\",\n \"type\": \"group\",\n \"label\": \"Action on all correct\",\n \"fields\": [\n {\n \"name\": \"seekTo\",\n \"type\": \"number\",\n \"widget\": \"timecode\",\n \"label\": \"Seek to\",\n \"description\": \"Enter timecode in the format M:SS\"\n },\n {\n \"name\": \"allowOptOut\",\n \"type\": \"boolean\",\n \"label\": \"Allow the user to opt out and continue\"\n },\n {\n \"name\": \"message\",\n \"type\": \"text\",\n \"widget\": \"html\",\n \"enterMode\": \"p\",\n \"tags\": [\n \"strong\",\n \"em\",\n \"del\",\n \"a\",\n \"code\"\n ],\n \"label\": \"Message\"\n },\n {\n \"name\": \"seekLabel\",\n \"type\": \"text\",\n \"label\": \"Label for seek button\"\n }\n ]\n },\n {\n \"name\": \"wrong\",\n \"type\": \"group\",\n \"label\": \"Action on wrong\",\n \"fields\": [\n {\n \"name\": \"seekTo\",\n \"type\": \"number\",\n \"widget\": \"timecode\",\n \"label\": \"Seek to\",\n \"description\": \"Enter timecode in the format M:SS\"\n },\n {\n \"name\": \"allowOptOut\",\n \"type\": \"boolean\",\n \"label\": \"Allow the user to opt out and continue\"\n },\n {\n \"name\": \"message\",\n \"type\": \"text\",\n \"widget\": \"html\",\n \"enterMode\": \"p\",\n \"tags\": [\n \"strong\",\n \"em\",\n \"del\",\n \"a\",\n \"code\"\n ],\n \"label\": \"Message\"\n },\n {\n \"name\": \"seekLabel\",\n \"type\": \"text\",\n \"label\": \"Label for seek button\"\n }\n ]\n },\n {\n \"name\": \"requireCompletion\",\n \"type\": \"boolean\",\n \"label\": \"Require full score for task before proceeding\",\n \"description\": \"For best functionality this option should be used in conjunction with the \\\"Prevent skipping forward in a video\\\" option of Interactive Video.\"\n }\n ]\n },\n {\n \"name\": \"visuals\",\n \"label\": \"Visuals\",\n \"importance\": \"low\",\n \"type\": \"group\",\n \"fields\": [\n {\n \"name\": \"backgroundColor\",\n \"type\": \"text\",\n \"label\": \"Background color\",\n \"widget\": \"colorSelector\",\n \"default\": \"rgb(255, 255, 255)\",\n \"spectrum\": {\n \"showInput\": true,\n \"showAlpha\": true,\n \"preferredFormat\": \"rgb\",\n \"showPalette\": true,\n \"palette\": [\n [\n \"rgba(0, 0, 0, 0)\"\n ],\n [\n \"rgb(67, 67, 67)\",\n \"rgb(102, 102, 102)\",\n \"rgb(204, 204, 204)\",\n \"rgb(217, 217, 217)\",\n \"rgb(255, 255, 255)\"\n ],\n [\n \"rgb(152, 0, 0)\",\n \"rgb(255, 0, 0)\",\n \"rgb(255, 153, 0)\",\n \"rgb(255, 255, 0)\",\n \"rgb(0, 255, 0)\",\n \"rgb(0, 255, 255)\",\n \"rgb(74, 134, 232)\",\n \"rgb(0, 0, 255)\",\n \"rgb(153, 0, 255)\",\n \"rgb(255, 0, 255)\"\n ],\n [\n \"rgb(230, 184, 175)\",\n \"rgb(244, 204, 204)\",\n \"rgb(252, 229, 205)\",\n \"rgb(255, 242, 204)\",\n \"rgb(217, 234, 211)\",\n \"rgb(208, 224, 227)\",\n \"rgb(201, 218, 248)\",\n \"rgb(207, 226, 243)\",\n \"rgb(217, 210, 233)\",\n \"rgb(234, 209, 220)\",\n \"rgb(221, 126, 107)\",\n \"rgb(234, 153, 153)\",\n \"rgb(249, 203, 156)\",\n \"rgb(255, 229, 153)\",\n \"rgb(182, 215, 168)\",\n \"rgb(162, 196, 201)\",\n \"rgb(164, 194, 244)\",\n \"rgb(159, 197, 232)\",\n \"rgb(180, 167, 214)\",\n \"rgb(213, 166, 189)\",\n \"rgb(204, 65, 37)\",\n \"rgb(224, 102, 102)\",\n \"rgb(246, 178, 107)\",\n \"rgb(255, 217, 102)\",\n \"rgb(147, 196, 125)\",\n \"rgb(118, 165, 175)\",\n \"rgb(109, 158, 235)\",\n \"rgb(111, 168, 220)\",\n \"rgb(142, 124, 195)\",\n \"rgb(194, 123, 160)\",\n \"rgb(166, 28, 0)\",\n \"rgb(204, 0, 0)\",\n \"rgb(230, 145, 56)\",\n \"rgb(241, 194, 50)\",\n \"rgb(106, 168, 79)\",\n \"rgb(69, 129, 142)\",\n \"rgb(60, 120, 216)\",\n \"rgb(61, 133, 198)\",\n \"rgb(103, 78, 167)\",\n \"rgb(166, 77, 121)\",\n \"rgb(91, 15, 0)\",\n \"rgb(102, 0, 0)\",\n \"rgb(120, 63, 4)\",\n \"rgb(127, 96, 0)\",\n \"rgb(39, 78, 19)\",\n \"rgb(12, 52, 61)\",\n \"rgb(28, 69, 135)\",\n \"rgb(7, 55, 99)\",\n \"rgb(32, 18, 77)\",\n \"rgb(76, 17, 48)\"\n ]\n ]\n }\n },\n {\n \"name\": \"boxShadow\",\n \"type\": \"boolean\",\n \"label\": \"Box shadow\",\n \"default\": true,\n \"description\": \"Adds a subtle shadow around the interaction. You might want to disable this for completely transparent interactions\"\n }\n ]\n },\n {\n \"name\": \"goto\",\n \"label\": \"Go to on click\",\n \"importance\": \"low\",\n \"type\": \"group\",\n \"fields\": [\n {\n \"name\": \"type\",\n \"label\": \"Type\",\n \"type\": \"select\",\n \"widget\": \"selectToggleFields\",\n \"options\": [\n {\n \"value\": \"timecode\",\n \"label\": \"Timecode\",\n \"hideFields\": [\n \"url\"\n ]\n },\n {\n \"value\": \"url\",\n \"label\": \"Another page (URL)\",\n \"hideFields\": [\n \"time\"\n ]\n }\n ],\n \"optional\": true\n },\n {\n \"name\": \"time\",\n \"type\": \"number\",\n \"widget\": \"timecode\",\n \"label\": \"Go To\",\n \"description\": \"The target time the user will be taken to upon pressing the hotspot. Enter timecode in the format M:SS.\",\n \"optional\": true\n },\n {\n \"name\": \"url\",\n \"type\": \"group\",\n \"label\": \"URL\",\n \"widget\": \"linkWidget\",\n \"optional\": true,\n \"fields\": [\n {\n \"name\": \"protocol\",\n \"type\": \"select\",\n \"label\": \"Protocol\",\n \"options\": [\n {\n \"value\": \"http://\",\n \"label\": \"http://\"\n },\n {\n \"value\": \"https://\",\n \"label\": \"https://\"\n },\n {\n \"value\": \"/\",\n \"label\": \"(root relative)\"\n },\n {\n \"value\": \"other\",\n \"label\": \"other\"\n }\n ],\n \"optional\": true,\n \"default\": \"http://\"\n },\n {\n \"name\": \"url\",\n \"type\": \"text\",\n \"label\": \"URL\",\n \"optional\": true\n }\n ]\n },\n {\n \"name\": \"visualize\",\n \"type\": \"boolean\",\n \"label\": \"Visualize\",\n \"description\": \"Show that interaction can be clicked by adding a border and an icon\"\n }\n ]\n }\n ]\n }\n },\n {\n \"name\": \"bookmarks\",\n \"importance\": \"low\",\n \"type\": \"list\",\n \"field\": {\n \"name\": \"bookmark\",\n \"type\": \"group\",\n \"fields\": [\n {\n \"name\": \"time\",\n \"type\": \"number\"\n },\n {\n \"name\": \"label\",\n \"type\": \"text\"\n }\n ]\n }\n },\n {\n \"name\": \"endscreens\",\n \"importance\": \"low\",\n \"type\": \"list\",\n \"field\": {\n \"name\": \"endscreen\",\n \"type\": \"group\",\n \"fields\": [\n {\n \"name\": \"time\",\n \"type\": \"number\"\n },\n {\n \"name\": \"label\",\n \"type\": \"text\"\n }\n ]\n }\n }\n ]\n },\n {\n \"name\": \"summary\",\n \"type\": \"group\",\n \"label\": \"Summary task\",\n \"importance\": \"high\",\n \"fields\": [\n {\n \"name\": \"task\",\n \"type\": \"library\",\n \"options\": [\n \"H5P.Summary 1.10\"\n ],\n \"default\": {\n \"library\": \"H5P.Summary 1.10\",\n \"params\": {}\n }\n },\n {\n \"name\": \"displayAt\",\n \"type\": \"number\",\n \"label\": \"Display at\",\n \"description\": \"Number of seconds before the video ends.\",\n \"default\": 3\n }\n ]\n }\n ]\n },\n {\n \"name\": \"override\",\n \"type\": \"group\",\n \"label\": \"Behavioural settings\",\n \"importance\": \"low\",\n \"optional\": true,\n \"fields\": [\n {\n \"name\": \"startVideoAt\",\n \"type\": \"number\",\n \"widget\": \"timecode\",\n \"label\": \"Start video at\",\n \"importance\": \"low\",\n \"optional\": true,\n \"description\": \"Enter timecode in the format M:SS\"\n },\n {\n \"name\": \"autoplay\",\n \"type\": \"boolean\",\n \"label\": \"Auto-play video\",\n \"default\": false,\n \"optional\": true,\n \"description\": \"Start playing the video automatically\"\n },\n {\n \"name\": \"loop\",\n \"type\": \"boolean\",\n \"label\": \"Loop the video\",\n \"default\": false,\n \"optional\": true,\n \"description\": \"Check if video should run in a loop\"\n },\n {\n \"name\": \"showSolutionButton\",\n \"type\": \"select\",\n \"label\": \"Override \\\"Show Solution\\\" button\",\n \"importance\": \"low\",\n \"description\": \"This option determines if the \\\"Show Solution\\\" button will be shown for all questions, disabled for all or configured for each question individually.\",\n \"optional\": true,\n \"options\": [\n {\n \"value\": \"on\",\n \"label\": \"Enabled\"\n },\n {\n \"value\": \"off\",\n \"label\": \"Disabled\"\n }\n ]\n },\n {\n \"name\": \"retryButton\",\n \"type\": \"select\",\n \"label\": \"Override \\\"Retry\\\" button\",\n \"importance\": \"low\",\n \"description\": \"This option determines if the \\\"Retry\\\" button will be shown for all questions, disabled for all or configured for each question individually.\",\n \"optional\": true,\n \"options\": [\n {\n \"value\": \"on\",\n \"label\": \"Enabled\"\n },\n {\n \"value\": \"off\",\n \"label\": \"Disabled\"\n }\n ]\n },\n {\n \"name\": \"showBookmarksmenuOnLoad\",\n \"type\": \"boolean\",\n \"label\": \"Start with bookmarks menu open\",\n \"importance\": \"low\",\n \"default\": false,\n \"description\": \"This function is not available on iPad when using YouTube as video source.\"\n },\n {\n \"name\": \"showRewind10\",\n \"type\": \"boolean\",\n \"label\": \"Show button for rewinding 10 seconds\",\n \"importance\": \"low\",\n \"default\": false\n },\n {\n \"name\": \"preventSkipping\",\n \"type\": \"boolean\",\n \"default\": false,\n \"label\": \"Prevent skipping forward in a video\",\n \"importance\": \"low\",\n \"description\": \"Enabling this options will disable user video navigation through default controls.\"\n },\n {\n \"name\": \"deactivateSound\",\n \"type\": \"boolean\",\n \"default\": false,\n \"label\": \"Deactivate sound\",\n \"importance\": \"low\",\n \"description\": \"Enabling this option will deactivate the video's sound and prevent it from being switched on.\"\n }\n ]\n },\n {\n \"name\": \"l10n\",\n \"type\": \"group\",\n \"label\": \"Localize\",\n \"importance\": \"low\",\n \"common\": true,\n \"optional\": true,\n \"fields\": [\n {\n \"name\": \"interaction\",\n \"type\": \"text\",\n \"label\": \"Interaction title\",\n \"importance\": \"low\",\n \"default\": \"Interaction\",\n \"optional\": true\n },\n {\n \"name\": \"play\",\n \"type\": \"text\",\n \"label\": \"Play title\",\n \"importance\": \"low\",\n \"default\": \"Play\",\n \"optional\": true\n },\n {\n \"name\": \"pause\",\n \"type\": \"text\",\n \"label\": \"Pause title\",\n \"importance\": \"low\",\n \"default\": \"Pause\",\n \"optional\": true\n },\n {\n \"name\": \"mute\",\n \"type\": \"text\",\n \"label\": \"Mute title\",\n \"importance\": \"low\",\n \"default\": \"Mute\",\n \"optional\": true\n },\n {\n \"name\": \"unmute\",\n \"type\": \"text\",\n \"label\": \"Unmute title\",\n \"importance\": \"low\",\n \"default\": \"Unmute\",\n \"optional\": true\n },\n {\n \"name\": \"quality\",\n \"type\": \"text\",\n \"label\": \"Video quality title\",\n \"importance\": \"low\",\n \"default\": \"Video Quality\",\n \"optional\": true\n },\n {\n \"name\": \"captions\",\n \"type\": \"text\",\n \"label\": \"Video captions title\",\n \"importance\": \"low\",\n \"default\": \"Captions\",\n \"optional\": true\n },\n {\n \"name\": \"close\",\n \"type\": \"text\",\n \"label\": \"Close button text\",\n \"importance\": \"low\",\n \"default\": \"Close\",\n \"optional\": true\n },\n {\n \"name\": \"fullscreen\",\n \"type\": \"text\",\n \"label\": \"Fullscreen title\",\n \"importance\": \"low\",\n \"default\": \"Fullscreen\",\n \"optional\": true\n },\n {\n \"name\": \"exitFullscreen\",\n \"type\": \"text\",\n \"label\": \"Exit fullscreen title\",\n \"importance\": \"low\",\n \"default\": \"Exit Fullscreen\",\n \"optional\": true\n },\n {\n \"name\": \"summary\",\n \"type\": \"text\",\n \"label\": \"Summary title\",\n \"importance\": \"low\",\n \"default\": \"Open summary dialog\",\n \"optional\": true\n },\n {\n \"name\": \"bookmarks\",\n \"type\": \"text\",\n \"label\": \"Bookmarks title\",\n \"importance\": \"low\",\n \"default\": \"Bookmarks\",\n \"optional\": true\n },\n {\n \"name\": \"endscreen\",\n \"type\": \"text\",\n \"label\": \"Submit screen title\",\n \"importance\": \"low\",\n \"default\": \"Submit screen\",\n \"optional\": true\n },\n {\n \"name\": \"defaultAdaptivitySeekLabel\",\n \"type\": \"text\",\n \"label\": \"Default label for adaptivity seek button\",\n \"importance\": \"low\",\n \"default\": \"Continue\",\n \"optional\": true\n },\n {\n \"name\": \"continueWithVideo\",\n \"type\": \"text\",\n \"label\": \"Default label for continue video button\",\n \"importance\": \"low\",\n \"default\": \"Continue with video\",\n \"optional\": true\n },\n {\n \"name\": \"playbackRate\",\n \"type\": \"text\",\n \"label\": \"Set playback rate\",\n \"importance\": \"low\",\n \"default\": \"Playback Rate\",\n \"optional\": true\n },\n {\n \"name\": \"rewind10\",\n \"type\": \"text\",\n \"label\": \"Rewind 10 Seconds\",\n \"importance\": \"low\",\n \"default\": \"Rewind 10 Seconds\",\n \"optional\": true\n },\n {\n \"name\": \"navDisabled\",\n \"type\": \"text\",\n \"label\": \"Navigation is disabled text\",\n \"importance\": \"low\",\n \"default\": \"Navigation is disabled\",\n \"optional\": true\n },\n {\n \"name\": \"sndDisabled\",\n \"type\": \"text\",\n \"label\": \"Sound is disabled text\",\n \"importance\": \"low\",\n \"default\": \"Sound is disabled\",\n \"optional\": true\n },\n {\n \"name\": \"requiresCompletionWarning\",\n \"type\": \"text\",\n \"label\": \"Warning that the user must answer the question correctly before continuing\",\n \"importance\": \"low\",\n \"default\": \"You need to answer all the questions correctly before continuing.\",\n \"optional\": true\n },\n {\n \"name\": \"back\",\n \"type\": \"text\",\n \"label\": \"Back button\",\n \"importance\": \"low\",\n \"default\": \"Back\",\n \"optional\": true\n },\n {\n \"name\": \"hours\",\n \"type\": \"text\",\n \"label\": \"Passed time hours\",\n \"importance\": \"low\",\n \"default\": \"Hours\",\n \"optional\": true\n },\n {\n \"name\": \"minutes\",\n \"type\": \"text\",\n \"label\": \"Passed time minutes\",\n \"importance\": \"low\",\n \"default\": \"Minutes\",\n \"optional\": true\n },\n {\n \"name\": \"seconds\",\n \"type\": \"text\",\n \"label\": \"Passed time seconds\",\n \"importance\": \"low\",\n \"default\": \"Seconds\",\n \"optional\": true\n },\n {\n \"name\": \"currentTime\",\n \"type\": \"text\",\n \"label\": \"Label for current time\",\n \"importance\": \"low\",\n \"default\": \"Current time:\",\n \"optional\": true\n },\n {\n \"name\": \"totalTime\",\n \"type\": \"text\",\n \"label\": \"Label for total time\",\n \"importance\": \"low\",\n \"default\": \"Total time:\",\n \"optional\": true\n },\n {\n \"name\": \"singleInteractionAnnouncement\",\n \"type\": \"text\",\n \"label\": \"Text explaining that a single interaction with a name has come into view\",\n \"importance\": \"low\",\n \"default\": \"Interaction appeared:\",\n \"optional\": true\n },\n {\n \"name\": \"multipleInteractionsAnnouncement\",\n \"type\": \"text\",\n \"label\": \"Text for explaining that multiple interactions have come into view\",\n \"importance\": \"low\",\n \"default\": \"Multiple interactions appeared.\",\n \"optional\": true\n },\n {\n \"name\": \"videoPausedAnnouncement\",\n \"type\": \"text\",\n \"label\": \"Video is paused announcement\",\n \"importance\": \"low\",\n \"default\": \"Video is paused\",\n \"optional\": true\n },\n {\n \"name\": \"content\",\n \"type\": \"text\",\n \"label\": \"Content label\",\n \"importance\": \"low\",\n \"default\": \"Content\",\n \"optional\": true\n },\n {\n \"name\": \"answered\",\n \"type\": \"text\",\n \"label\": \"Answered message (@answered will be replaced with the number of answered questions)\",\n \"importance\": \"low\",\n \"default\": \"@answered answered\",\n \"optional\": true\n },\n {\n \"name\": \"endcardTitle\",\n \"type\": \"text\",\n \"label\": \"Submit screen title\",\n \"importance\": \"low\",\n \"default\": \"@answered Question(s) answered\",\n \"description\": \"@answered will be replaced by the number of answered questions.\",\n \"optional\": true\n },\n {\n \"name\": \"endcardInformation\",\n \"type\": \"text\",\n \"label\": \"Submit screen information\",\n \"importance\": \"low\",\n \"default\": \"You have answered @answered questions, click below to submit your answers.\",\n \"description\": \"@answered will be replaced by the number of answered questions.\",\n \"optional\": true\n },\n {\n \"name\": \"endcardInformationNoAnswers\",\n \"type\": \"text\",\n \"label\": \"Submit screen information for missing answers\",\n \"importance\": \"low\",\n \"default\": \"You have not answered any questions.\",\n \"optional\": true\n },\n {\n \"name\": \"endcardInformationMustHaveAnswer\",\n \"type\": \"text\",\n \"label\": \"Submit screen information for answer needed\",\n \"importance\": \"low\",\n \"default\": \"You have to answer at least one question before you can submit your answers.\",\n \"optional\": true\n },\n {\n \"name\": \"endcardSubmitButton\",\n \"type\": \"text\",\n \"label\": \"Submit screen submit button\",\n \"importance\": \"low\",\n \"default\": \"Submit Answers\",\n \"optional\": true\n },\n {\n \"name\": \"endcardSubmitMessage\",\n \"type\": \"text\",\n \"label\": \"Submit screen submit message\",\n \"importance\": \"low\",\n \"default\": \"Your answers have been submitted!\",\n \"optional\": true\n },\n {\n \"name\": \"endcardTableRowAnswered\",\n \"type\": \"text\",\n \"label\": \"Submit screen table row title: Answered questions\",\n \"importance\": \"low\",\n \"default\": \"Answered questions\",\n \"optional\": true\n },\n {\n \"name\": \"endcardTableRowScore\",\n \"type\": \"text\",\n \"label\": \"Submit screen table row title: Score\",\n \"importance\": \"low\",\n \"default\": \"Score\",\n \"optional\": true\n },\n {\n \"name\": \"endcardAnsweredScore\",\n \"type\": \"text\",\n \"label\": \"Submit screen answered score\",\n \"importance\": \"low\",\n \"default\": \"answered\",\n \"optional\": true\n },\n {\n \"name\": \"endCardTableRowSummaryWithScore\",\n \"type\": \"text\",\n \"label\": \"Submit screen row summary including score (for readspeakers)\",\n \"importance\": \"low\",\n \"default\": \"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\n \"optional\": true\n },\n {\n \"name\": \"endCardTableRowSummaryWithoutScore\",\n \"type\": \"text\",\n \"label\": \"Submit screen row summary for no score (for readspeakers)\",\n \"importance\": \"low\",\n \"default\": \"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\",\n \"optional\": true\n }\n ]\n }\n]",
"tutorial_url": "",
"has_icon": 1
},
"created_at": "2020-09-30T20:24:58.000000Z",
"updated_at": "2020-09-30T20:24:58.000000Z"
},
"created_at": "2020-09-30T20:24:58.000000Z",
"updated_at": "2020-09-30T20:24:58.000000Z"
}
}
Received response:
Request failed with error:
Get Stand Alone Activity
Get the specified stand alone activity.
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/suborganizations/1/stand-alone-activity/761" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/suborganizations/1/stand-alone-activity/761"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/suborganizations/1/stand-alone-activity/761',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (400):
{
"errors": [
"Invalid activity id."
]
}
Example response (200):
{
"activity": {
"id": 1,
"playlist_id": 1,
"title": "Science of Golf: Why Balls Have Dimples",
"type": "h5p",
"content": "",
"shared": false,
"order": 2,
"thumb_url": null,
"subjects": [
{
"id": 4,
"name": "English",
"order": 3,
"created_at": "2022-01-06T11:59:52.000000Z",
"updated_at": "2022-01-06T12:15:10.000000Z"
},
{
"id": 1,
"name": "Math",
"order": 1,
"created_at": "2022-01-06T11:41:46.000000Z",
"updated_at": "2022-01-06T11:41:46.000000Z"
}
],
"education_levels": [
{
"id": 1,
"name": "Grade A",
"order": 5,
"created_at": "2022-01-07T13:51:38.000000Z",
"updated_at": "2022-01-07T14:07:17.000000Z"
},
{
"id": 1,
"name": "Grade B",
"order": 6,
"created_at": "2022-01-07T13:51:38.000000Z",
"updated_at": "2022-01-07T14:07:17.000000Z"
}
],
"author_tags": [
{
"id": 1,
"name": "Audio",
"order": 1,
"created_at": "2022-01-10T13:09:36.000000Z",
"updated_at": "2022-01-10T13:09:36.000000Z"
},
{
"id": 2,
"name": "Video",
"order": 2,
"created_at": "2022-01-10T13:09:44.000000Z",
"updated_at": "2022-01-10T13:20:57.000000Z"
}
],
"gcr_activity_visibility": true,
"h5p_content": {
"id": 59,
"user_id": 1,
"title": "Science of Golf: Why Balls Have Dimples",
"library_id": 40,
"parameters": "{\"interactiveVideo\":{\"video\":{\"startScreenOptions\":{\"title\":\"Interactive Video\",\"hideStartTitle\":false},\"textTracks\":{\"videoTrack\":[{\"label\":\"Subtitles\",\"kind\":\"subtitles\",\"srcLang\":\"en\"}]},\"files\":[{\"path\":\"https://youtu.be/fcjaxC-e8oY\",\"mime\":\"video/YouTube\",\"copyright\":{\"license\":\"U\"},\"aspectRatio\":\"16:9\"}]},\"assets\":{\"interactions\":[{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":58.33,\"to\":68.33},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"133bca3d-cfe9-442d-a887-8bf1e2ce682a\",\"question\":\"<p>Why do golf balls have dimples?</p>\\n\",\"answers\":[\"<p>They reduce wind resistance.</p>\\n\",\"<p>They make the ball more visually interesting.</p>\\n\",\"<p>They grip the putting green better than a smooth ball.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"ac029b43-7225-49ed-a2d7-8656037748e0\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Why do golf balls have dimples?\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Why do golf balls have dimples?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Why do golf balls have dimples?</p>\\n\"},{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":132.969,\"to\":142.969},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"308503f3-8d41-4f4f-b016-587bcce3dfac\",\"question\":\"<p>A smooth ball will have a detached airflow, which causes what?</p>\\n\",\"answers\":[\"<p>A low pressure zone, which is what causes drag.</p>\\n\",\"<p>The ball has no spin.</p>\\n\",\"<p>The ball travels higher, but for a shorter distance.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"f70c849d-9542-4f30-9116-8b60b7da708d\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Smooth Ball?\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Smooth Ball?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Smooth Ball</p>\\n\"}],\"bookmarks\":[],\"endscreens\":[{\"time\":295,\"label\":\"4:55 Submit screen\"}]},\"summary\":{\"task\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"8e2cf84f-4557-4f79-a03e-526838498a7d\",\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"8d5527ef-3601-4ad9-9e63-2782c9775173\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Untitled Summary\"}},\"displayAt\":3}},\"override\":{\"autoplay\":false,\"loop\":false,\"showBookmarksmenuOnLoad\":false,\"showRewind10\":false,\"preventSkipping\":false,\"deactivateSound\":false},\"l10n\":{\"interaction\":\"Interaction\",\"play\":\"Play\",\"pause\":\"Pause\",\"mute\":\"Mute\",\"unmute\":\"Unmute\",\"quality\":\"Video Quality\",\"captions\":\"Captions\",\"close\":\"Close\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit Fullscreen\",\"summary\":\"Open summary dialog\",\"bookmarks\":\"Bookmarks\",\"endscreen\":\"Submit screen\",\"defaultAdaptivitySeekLabel\":\"Continue\",\"continueWithVideo\":\"Continue with video\",\"playbackRate\":\"Playback Rate\",\"rewind10\":\"Rewind 10 Seconds\",\"navDisabled\":\"Navigation is disabled\",\"sndDisabled\":\"Sound is disabled\",\"requiresCompletionWarning\":\"You need to answer all the questions correctly before continuing.\",\"back\":\"Back\",\"hours\":\"Hours\",\"minutes\":\"Minutes\",\"seconds\":\"Seconds\",\"currentTime\":\"Current time:\",\"totalTime\":\"Total time:\",\"singleInteractionAnnouncement\":\"Interaction appeared:\",\"multipleInteractionsAnnouncement\":\"Multiple interactions appeared.\",\"videoPausedAnnouncement\":\"Video is paused\",\"content\":\"Content\",\"answered\":\"@answered answered\",\"endcardTitle\":\"@answered Question(s) answered\",\"endcardInformation\":\"You have answered @answered questions, click below to submit your answers.\",\"endcardInformationNoAnswers\":\"You have not answered any questions.\",\"endcardInformationMustHaveAnswer\":\"You have to answer at least one question before you can submit your answers.\",\"endcardSubmitButton\":\"Submit Answers\",\"endcardSubmitMessage\":\"Your answers have been submitted!\",\"endcardTableRowAnswered\":\"Answered questions\",\"endcardTableRowScore\":\"Score\",\"endcardAnsweredScore\":\"answered\",\"endCardTableRowSummaryWithScore\":\"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\"endCardTableRowSummaryWithoutScore\":\"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\"}}",
"filtered": "{\"interactiveVideo\":{\"video\":{\"startScreenOptions\":{\"title\":\"Interactive Video\",\"hideStartTitle\":false},\"textTracks\":{\"videoTrack\":[{\"label\":\"Subtitles\",\"kind\":\"subtitles\",\"srcLang\":\"en\"}]},\"files\":[{\"path\":\"https://youtu.be/fcjaxC-e8oY\",\"mime\":\"video/YouTube\",\"copyright\":{\"license\":\"U\"}}]},\"assets\":{\"interactions\":[{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":58.33,\"to\":68.33},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"133bca3d-cfe9-442d-a887-8bf1e2ce682a\",\"question\":\"<p>Why do golf balls have dimples?</p>\\n\",\"answers\":[\"<p>They reduce wind resistance.</p>\\n\",\"<p>They make the ball more visually interesting.</p>\\n\",\"<p>They grip the putting green better than a smooth ball.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"ac029b43-7225-49ed-a2d7-8656037748e0\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Why do golf balls have dimples?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Why do golf balls have dimples?</p>\\n\"},{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":132.969,\"to\":142.969},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"308503f3-8d41-4f4f-b016-587bcce3dfac\",\"question\":\"<p>A smooth ball will have a detached airflow, which causes what?</p>\\n\",\"answers\":[\"<p>A low pressure zone, which is what causes drag.</p>\\n\",\"<p>The ball has no spin.</p>\\n\",\"<p>The ball travels higher, but for a shorter distance.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"f70c849d-9542-4f30-9116-8b60b7da708d\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Smooth Ball?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Smooth Ball</p>\\n\"}],\"endscreens\":[{\"time\":295,\"label\":\"4:55 Submit screen\"}]},\"summary\":{\"task\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"8e2cf84f-4557-4f79-a03e-526838498a7d\",\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"8d5527ef-3601-4ad9-9e63-2782c9775173\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\"}},\"displayAt\":3}},\"override\":{\"autoplay\":false,\"loop\":false,\"showBookmarksmenuOnLoad\":false,\"showRewind10\":false,\"preventSkipping\":false,\"deactivateSound\":false},\"l10n\":{\"interaction\":\"Interaction\",\"play\":\"Play\",\"pause\":\"Pause\",\"mute\":\"Mute\",\"unmute\":\"Unmute\",\"quality\":\"Video Quality\",\"captions\":\"Captions\",\"close\":\"Close\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit Fullscreen\",\"summary\":\"Open summary dialog\",\"bookmarks\":\"Bookmarks\",\"endscreen\":\"Submit screen\",\"defaultAdaptivitySeekLabel\":\"Continue\",\"continueWithVideo\":\"Continue with video\",\"playbackRate\":\"Playback Rate\",\"rewind10\":\"Rewind 10 Seconds\",\"navDisabled\":\"Navigation is disabled\",\"sndDisabled\":\"Sound is disabled\",\"requiresCompletionWarning\":\"You need to answer all the questions correctly before continuing.\",\"back\":\"Back\",\"hours\":\"Hours\",\"minutes\":\"Minutes\",\"seconds\":\"Seconds\",\"currentTime\":\"Current time:\",\"totalTime\":\"Total time:\",\"singleInteractionAnnouncement\":\"Interaction appeared:\",\"multipleInteractionsAnnouncement\":\"Multiple interactions appeared.\",\"videoPausedAnnouncement\":\"Video is paused\",\"content\":\"Content\",\"answered\":\"@answered answered\",\"endcardTitle\":\"@answered Question(s) answered\",\"endcardInformation\":\"You have answered @answered questions, click below to submit your answers.\",\"endcardInformationNoAnswers\":\"You have not answered any questions.\",\"endcardInformationMustHaveAnswer\":\"You have to answer at least one question before you can submit your answers.\",\"endcardSubmitButton\":\"Submit Answers\",\"endcardSubmitMessage\":\"Your answers have been submitted!\",\"endcardTableRowAnswered\":\"Answered questions\",\"endcardTableRowScore\":\"Score\",\"endcardAnsweredScore\":\"answered\",\"endCardTableRowSummaryWithScore\":\"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\"endCardTableRowSummaryWithoutScore\":\"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\"}}",
"slug": "science-of-golf-why-balls-have-dimples",
"embed_type": "div",
"disable": 9,
"content_type": null,
"authors": null,
"source": null,
"year_from": null,
"year_to": null,
"license": "U",
"license_version": null,
"license_extras": null,
"author_comments": null,
"changes": null,
"default_language": null,
"library": {
"id": 40,
"created_at": null,
"updated_at": null,
"name": "H5P.InteractiveVideo",
"title": "Interactive Video",
"major_version": 1,
"minor_version": 21,
"patch_version": 9,
"runnable": 1,
"restricted": 0,
"fullscreen": 1,
"embed_types": "iframe",
"preloaded_js": "dist/h5p-interactive-video.js",
"preloaded_css": "dist/h5p-interactive-video.css",
"drop_library_css": "",
"semantics": "[\n {\n \"name\": \"interactiveVideo\",\n \"type\": \"group\",\n \"widget\": \"wizard\",\n \"label\": \"Interactive Video Editor\",\n \"importance\": \"high\",\n \"fields\": [\n {\n \"name\": \"video\",\n \"type\": \"group\",\n \"label\": \"Upload/embed video\",\n \"importance\": \"high\",\n \"fields\": [\n {\n \"name\": \"files\",\n \"type\": \"video\",\n \"label\": \"Add a video\",\n \"importance\": \"high\",\n \"description\": \"Click below to add a video you wish to use in your interactive video. You can add a video link or upload video files. It is possible to add several versions of the video with different qualities. To ensure maximum support in browsers at least add a version in webm and mp4 formats.\",\n \"extraAttributes\": [\n \"metadata\"\n ],\n \"enableCustomQualityLabel\": true\n },\n {\n \"name\": \"startScreenOptions\",\n \"type\": \"group\",\n \"label\": \"Start screen options (unsupported for YouTube videos)\",\n \"importance\": \"low\",\n \"fields\": [\n {\n \"name\": \"title\",\n \"type\": \"text\",\n \"label\": \"The title of this interactive video\",\n \"importance\": \"low\",\n \"maxLength\": 60,\n \"default\": \"Interactive Video\",\n \"description\": \"Used in summaries, statistics etc.\"\n },\n {\n \"name\": \"hideStartTitle\",\n \"type\": \"boolean\",\n \"label\": \"Hide title on video start screen\",\n \"importance\": \"low\",\n \"optional\": true,\n \"default\": false\n },\n {\n \"name\": \"shortStartDescription\",\n \"type\": \"text\",\n \"label\": \"Short description (Optional)\",\n \"importance\": \"low\",\n \"optional\": true,\n \"maxLength\": 120,\n \"description\": \"Optional. Display a short description text on the video start screen. Does not work for YouTube videos.\"\n },\n {\n \"name\": \"poster\",\n \"type\": \"image\",\n \"label\": \"Poster image\",\n \"importance\": \"low\",\n \"optional\": true,\n \"description\": \"Image displayed before the user launches the video. Does not work for YouTube Videos.\"\n }\n ]\n },\n {\n \"name\": \"textTracks\",\n \"type\": \"group\",\n \"label\": \"Text tracks (unsupported for YouTube videos)\",\n \"importance\": \"low\",\n \"fields\": [\n {\n \"name\": \"videoTrack\",\n \"type\": \"list\",\n \"label\": \"Available text tracks\",\n \"importance\": \"low\",\n \"optional\": true,\n \"entity\": \"Track\",\n \"min\": 0,\n \"defaultNum\": 1,\n \"field\": {\n \"name\": \"track\",\n \"type\": \"group\",\n \"label\": \"Track\",\n \"importance\": \"low\",\n \"expanded\": false,\n \"fields\": [\n {\n \"name\": \"label\",\n \"type\": \"text\",\n \"label\": \"Track label\",\n \"description\": \"Used if you offer multiple tracks and the user has to choose a track. For instance 'Spanish subtitles' could be the label of a Spanish subtitle track.\",\n \"importance\": \"low\",\n \"default\": \"Subtitles\",\n \"optional\": true\n },\n {\n \"name\": \"kind\",\n \"type\": \"select\",\n \"label\": \"Type of text track\",\n \"importance\": \"low\",\n \"default\": \"subtitles\",\n \"options\": [\n {\n \"value\": \"subtitles\",\n \"label\": \"Subtitles\"\n },\n {\n \"value\": \"captions\",\n \"label\": \"Captions\"\n },\n {\n \"value\": \"descriptions\",\n \"label\": \"Descriptions\"\n }\n ]\n },\n {\n \"name\": \"srcLang\",\n \"type\": \"text\",\n \"label\": \"Source language, must be defined for subtitles\",\n \"importance\": \"low\",\n \"default\": \"en\",\n \"description\": \"Must be a valid BCP 47 language tag. If 'Subtitles' is the type of text track selected, the source language of the track must be defined.\"\n },\n {\n \"name\": \"track\",\n \"type\": \"file\",\n \"label\": \"Track source (WebVTT file)\",\n \"importance\": \"low\"\n }\n ]\n }\n },\n {\n \"name\": \"defaultTrackLabel\",\n \"type\": \"text\",\n \"label\": \"Default text track\",\n \"description\": \"If left empty or not matching any of the text tracks the first text track will be used as the default.\",\n \"importance\": \"low\",\n \"optional\": true\n }\n ]\n }\n ]\n },\n {\n \"name\": \"assets\",\n \"type\": \"group\",\n \"label\": \"Add interactions\",\n \"importance\": \"high\",\n \"widget\": \"interactiveVideo\",\n \"video\": \"video/files\",\n \"poster\": \"video/startScreenOptions/poster\",\n \"fields\": [\n {\n \"name\": \"interactions\",\n \"type\": \"list\",\n \"field\": {\n \"name\": \"interaction\",\n \"type\": \"group\",\n \"fields\": [\n {\n \"name\": \"duration\",\n \"type\": \"group\",\n \"widget\": \"duration\",\n \"label\": \"Display time\",\n \"importance\": \"low\",\n \"fields\": [\n {\n \"name\": \"from\",\n \"type\": \"number\"\n },\n {\n \"name\": \"to\",\n \"type\": \"number\"\n }\n ]\n },\n {\n \"name\": \"pause\",\n \"label\": \"Pause video\",\n \"importance\": \"low\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"displayType\",\n \"label\": \"Display as\",\n \"importance\": \"low\",\n \"description\": \"<b>Button</b> is a collapsed interaction the user must press to open. <b>Poster</b> is an expanded interaction displayed directly on top of the video\",\n \"type\": \"select\",\n \"widget\": \"imageRadioButtonGroup\",\n \"options\": [\n {\n \"value\": \"button\",\n \"label\": \"Button\"\n },\n {\n \"value\": \"poster\",\n \"label\": \"Poster\"\n }\n ],\n \"default\": \"button\"\n },\n {\n \"name\": \"buttonOnMobile\",\n \"label\": \"Turn into button on small screens\",\n \"importance\": \"low\",\n \"type\": \"boolean\",\n \"default\": false\n },\n {\n \"name\": \"label\",\n \"type\": \"text\",\n \"widget\": \"html\",\n \"label\": \"Label\",\n \"importance\": \"low\",\n \"description\": \"Label displayed next to interaction icon.\",\n \"optional\": true,\n \"enterMode\": \"p\",\n \"tags\": [\n \"p\"\n ]\n },\n {\n \"name\": \"x\",\n \"type\": \"number\",\n \"importance\": \"low\",\n \"widget\": \"none\"\n },\n {\n \"name\": \"y\",\n \"type\": \"number\",\n \"importance\": \"low\",\n \"widget\": \"none\"\n },\n {\n \"name\": \"width\",\n \"type\": \"number\",\n \"widget\": \"none\",\n \"importance\": \"low\",\n \"optional\": true\n },\n {\n \"name\": \"height\",\n \"type\": \"number\",\n \"widget\": \"none\",\n \"importance\": \"low\",\n \"optional\": true\n },\n {\n \"name\": \"libraryTitle\",\n \"type\": \"text\",\n \"importance\": \"low\",\n \"optional\": true,\n \"widget\": \"none\"\n },\n {\n \"name\": \"action\",\n \"type\": \"library\",\n \"importance\": \"low\",\n \"options\": [\n \"H5P.Nil 1.0\",\n \"H5P.Text 1.1\",\n \"H5P.Table 1.1\",\n \"H5P.Link 1.3\",\n \"H5P.Image 1.1\",\n \"H5P.Summary 1.10\",\n \"H5P.SingleChoiceSet 1.11\",\n \"H5P.MultiChoice 1.14\",\n \"H5P.TrueFalse 1.6\",\n \"H5P.Blanks 1.12\",\n \"H5P.DragQuestion 1.13\",\n \"H5P.MarkTheWords 1.9\",\n \"H5P.DragText 1.8\",\n \"H5P.GoToQuestion 1.3\",\n \"H5P.IVHotspot 1.2\",\n \"H5P.Questionnaire 1.2\",\n \"H5P.FreeTextQuestion 1.0\"\n ]\n },\n {\n \"name\": \"adaptivity\",\n \"type\": \"group\",\n \"label\": \"Adaptivity\",\n \"importance\": \"low\",\n \"optional\": true,\n \"fields\": [\n {\n \"name\": \"correct\",\n \"type\": \"group\",\n \"label\": \"Action on all correct\",\n \"fields\": [\n {\n \"name\": \"seekTo\",\n \"type\": \"number\",\n \"widget\": \"timecode\",\n \"label\": \"Seek to\",\n \"description\": \"Enter timecode in the format M:SS\"\n },\n {\n \"name\": \"allowOptOut\",\n \"type\": \"boolean\",\n \"label\": \"Allow the user to opt out and continue\"\n },\n {\n \"name\": \"message\",\n \"type\": \"text\",\n \"widget\": \"html\",\n \"enterMode\": \"p\",\n \"tags\": [\n \"strong\",\n \"em\",\n \"del\",\n \"a\",\n \"code\"\n ],\n \"label\": \"Message\"\n },\n {\n \"name\": \"seekLabel\",\n \"type\": \"text\",\n \"label\": \"Label for seek button\"\n }\n ]\n },\n {\n \"name\": \"wrong\",\n \"type\": \"group\",\n \"label\": \"Action on wrong\",\n \"fields\": [\n {\n \"name\": \"seekTo\",\n \"type\": \"number\",\n \"widget\": \"timecode\",\n \"label\": \"Seek to\",\n \"description\": \"Enter timecode in the format M:SS\"\n },\n {\n \"name\": \"allowOptOut\",\n \"type\": \"boolean\",\n \"label\": \"Allow the user to opt out and continue\"\n },\n {\n \"name\": \"message\",\n \"type\": \"text\",\n \"widget\": \"html\",\n \"enterMode\": \"p\",\n \"tags\": [\n \"strong\",\n \"em\",\n \"del\",\n \"a\",\n \"code\"\n ],\n \"label\": \"Message\"\n },\n {\n \"name\": \"seekLabel\",\n \"type\": \"text\",\n \"label\": \"Label for seek button\"\n }\n ]\n },\n {\n \"name\": \"requireCompletion\",\n \"type\": \"boolean\",\n \"label\": \"Require full score for task before proceeding\",\n \"description\": \"For best functionality this option should be used in conjunction with the \\\"Prevent skipping forward in a video\\\" option of Interactive Video.\"\n }\n ]\n },\n {\n \"name\": \"visuals\",\n \"label\": \"Visuals\",\n \"importance\": \"low\",\n \"type\": \"group\",\n \"fields\": [\n {\n \"name\": \"backgroundColor\",\n \"type\": \"text\",\n \"label\": \"Background color\",\n \"widget\": \"colorSelector\",\n \"default\": \"rgb(255, 255, 255)\",\n \"spectrum\": {\n \"showInput\": true,\n \"showAlpha\": true,\n \"preferredFormat\": \"rgb\",\n \"showPalette\": true,\n \"palette\": [\n [\n \"rgba(0, 0, 0, 0)\"\n ],\n [\n \"rgb(67, 67, 67)\",\n \"rgb(102, 102, 102)\",\n \"rgb(204, 204, 204)\",\n \"rgb(217, 217, 217)\",\n \"rgb(255, 255, 255)\"\n ],\n [\n \"rgb(152, 0, 0)\",\n \"rgb(255, 0, 0)\",\n \"rgb(255, 153, 0)\",\n \"rgb(255, 255, 0)\",\n \"rgb(0, 255, 0)\",\n \"rgb(0, 255, 255)\",\n \"rgb(74, 134, 232)\",\n \"rgb(0, 0, 255)\",\n \"rgb(153, 0, 255)\",\n \"rgb(255, 0, 255)\"\n ],\n [\n \"rgb(230, 184, 175)\",\n \"rgb(244, 204, 204)\",\n \"rgb(252, 229, 205)\",\n \"rgb(255, 242, 204)\",\n \"rgb(217, 234, 211)\",\n \"rgb(208, 224, 227)\",\n \"rgb(201, 218, 248)\",\n \"rgb(207, 226, 243)\",\n \"rgb(217, 210, 233)\",\n \"rgb(234, 209, 220)\",\n \"rgb(221, 126, 107)\",\n \"rgb(234, 153, 153)\",\n \"rgb(249, 203, 156)\",\n \"rgb(255, 229, 153)\",\n \"rgb(182, 215, 168)\",\n \"rgb(162, 196, 201)\",\n \"rgb(164, 194, 244)\",\n \"rgb(159, 197, 232)\",\n \"rgb(180, 167, 214)\",\n \"rgb(213, 166, 189)\",\n \"rgb(204, 65, 37)\",\n \"rgb(224, 102, 102)\",\n \"rgb(246, 178, 107)\",\n \"rgb(255, 217, 102)\",\n \"rgb(147, 196, 125)\",\n \"rgb(118, 165, 175)\",\n \"rgb(109, 158, 235)\",\n \"rgb(111, 168, 220)\",\n \"rgb(142, 124, 195)\",\n \"rgb(194, 123, 160)\",\n \"rgb(166, 28, 0)\",\n \"rgb(204, 0, 0)\",\n \"rgb(230, 145, 56)\",\n \"rgb(241, 194, 50)\",\n \"rgb(106, 168, 79)\",\n \"rgb(69, 129, 142)\",\n \"rgb(60, 120, 216)\",\n \"rgb(61, 133, 198)\",\n \"rgb(103, 78, 167)\",\n \"rgb(166, 77, 121)\",\n \"rgb(91, 15, 0)\",\n \"rgb(102, 0, 0)\",\n \"rgb(120, 63, 4)\",\n \"rgb(127, 96, 0)\",\n \"rgb(39, 78, 19)\",\n \"rgb(12, 52, 61)\",\n \"rgb(28, 69, 135)\",\n \"rgb(7, 55, 99)\",\n \"rgb(32, 18, 77)\",\n \"rgb(76, 17, 48)\"\n ]\n ]\n }\n },\n {\n \"name\": \"boxShadow\",\n \"type\": \"boolean\",\n \"label\": \"Box shadow\",\n \"default\": true,\n \"description\": \"Adds a subtle shadow around the interaction. You might want to disable this for completely transparent interactions\"\n }\n ]\n },\n {\n \"name\": \"goto\",\n \"label\": \"Go to on click\",\n \"importance\": \"low\",\n \"type\": \"group\",\n \"fields\": [\n {\n \"name\": \"type\",\n \"label\": \"Type\",\n \"type\": \"select\",\n \"widget\": \"selectToggleFields\",\n \"options\": [\n {\n \"value\": \"timecode\",\n \"label\": \"Timecode\",\n \"hideFields\": [\n \"url\"\n ]\n },\n {\n \"value\": \"url\",\n \"label\": \"Another page (URL)\",\n \"hideFields\": [\n \"time\"\n ]\n }\n ],\n \"optional\": true\n },\n {\n \"name\": \"time\",\n \"type\": \"number\",\n \"widget\": \"timecode\",\n \"label\": \"Go To\",\n \"description\": \"The target time the user will be taken to upon pressing the hotspot. Enter timecode in the format M:SS.\",\n \"optional\": true\n },\n {\n \"name\": \"url\",\n \"type\": \"group\",\n \"label\": \"URL\",\n \"widget\": \"linkWidget\",\n \"optional\": true,\n \"fields\": [\n {\n \"name\": \"protocol\",\n \"type\": \"select\",\n \"label\": \"Protocol\",\n \"options\": [\n {\n \"value\": \"http://\",\n \"label\": \"http://\"\n },\n {\n \"value\": \"https://\",\n \"label\": \"https://\"\n },\n {\n \"value\": \"/\",\n \"label\": \"(root relative)\"\n },\n {\n \"value\": \"other\",\n \"label\": \"other\"\n }\n ],\n \"optional\": true,\n \"default\": \"http://\"\n },\n {\n \"name\": \"url\",\n \"type\": \"text\",\n \"label\": \"URL\",\n \"optional\": true\n }\n ]\n },\n {\n \"name\": \"visualize\",\n \"type\": \"boolean\",\n \"label\": \"Visualize\",\n \"description\": \"Show that interaction can be clicked by adding a border and an icon\"\n }\n ]\n }\n ]\n }\n },\n {\n \"name\": \"bookmarks\",\n \"importance\": \"low\",\n \"type\": \"list\",\n \"field\": {\n \"name\": \"bookmark\",\n \"type\": \"group\",\n \"fields\": [\n {\n \"name\": \"time\",\n \"type\": \"number\"\n },\n {\n \"name\": \"label\",\n \"type\": \"text\"\n }\n ]\n }\n },\n {\n \"name\": \"endscreens\",\n \"importance\": \"low\",\n \"type\": \"list\",\n \"field\": {\n \"name\": \"endscreen\",\n \"type\": \"group\",\n \"fields\": [\n {\n \"name\": \"time\",\n \"type\": \"number\"\n },\n {\n \"name\": \"label\",\n \"type\": \"text\"\n }\n ]\n }\n }\n ]\n },\n {\n \"name\": \"summary\",\n \"type\": \"group\",\n \"label\": \"Summary task\",\n \"importance\": \"high\",\n \"fields\": [\n {\n \"name\": \"task\",\n \"type\": \"library\",\n \"options\": [\n \"H5P.Summary 1.10\"\n ],\n \"default\": {\n \"library\": \"H5P.Summary 1.10\",\n \"params\": {}\n }\n },\n {\n \"name\": \"displayAt\",\n \"type\": \"number\",\n \"label\": \"Display at\",\n \"description\": \"Number of seconds before the video ends.\",\n \"default\": 3\n }\n ]\n }\n ]\n },\n {\n \"name\": \"override\",\n \"type\": \"group\",\n \"label\": \"Behavioural settings\",\n \"importance\": \"low\",\n \"optional\": true,\n \"fields\": [\n {\n \"name\": \"startVideoAt\",\n \"type\": \"number\",\n \"widget\": \"timecode\",\n \"label\": \"Start video at\",\n \"importance\": \"low\",\n \"optional\": true,\n \"description\": \"Enter timecode in the format M:SS\"\n },\n {\n \"name\": \"autoplay\",\n \"type\": \"boolean\",\n \"label\": \"Auto-play video\",\n \"default\": false,\n \"optional\": true,\n \"description\": \"Start playing the video automatically\"\n },\n {\n \"name\": \"loop\",\n \"type\": \"boolean\",\n \"label\": \"Loop the video\",\n \"default\": false,\n \"optional\": true,\n \"description\": \"Check if video should run in a loop\"\n },\n {\n \"name\": \"showSolutionButton\",\n \"type\": \"select\",\n \"label\": \"Override \\\"Show Solution\\\" button\",\n \"importance\": \"low\",\n \"description\": \"This option determines if the \\\"Show Solution\\\" button will be shown for all questions, disabled for all or configured for each question individually.\",\n \"optional\": true,\n \"options\": [\n {\n \"value\": \"on\",\n \"label\": \"Enabled\"\n },\n {\n \"value\": \"off\",\n \"label\": \"Disabled\"\n }\n ]\n },\n {\n \"name\": \"retryButton\",\n \"type\": \"select\",\n \"label\": \"Override \\\"Retry\\\" button\",\n \"importance\": \"low\",\n \"description\": \"This option determines if the \\\"Retry\\\" button will be shown for all questions, disabled for all or configured for each question individually.\",\n \"optional\": true,\n \"options\": [\n {\n \"value\": \"on\",\n \"label\": \"Enabled\"\n },\n {\n \"value\": \"off\",\n \"label\": \"Disabled\"\n }\n ]\n },\n {\n \"name\": \"showBookmarksmenuOnLoad\",\n \"type\": \"boolean\",\n \"label\": \"Start with bookmarks menu open\",\n \"importance\": \"low\",\n \"default\": false,\n \"description\": \"This function is not available on iPad when using YouTube as video source.\"\n },\n {\n \"name\": \"showRewind10\",\n \"type\": \"boolean\",\n \"label\": \"Show button for rewinding 10 seconds\",\n \"importance\": \"low\",\n \"default\": false\n },\n {\n \"name\": \"preventSkipping\",\n \"type\": \"boolean\",\n \"default\": false,\n \"label\": \"Prevent skipping forward in a video\",\n \"importance\": \"low\",\n \"description\": \"Enabling this options will disable user video navigation through default controls.\"\n },\n {\n \"name\": \"deactivateSound\",\n \"type\": \"boolean\",\n \"default\": false,\n \"label\": \"Deactivate sound\",\n \"importance\": \"low\",\n \"description\": \"Enabling this option will deactivate the video's sound and prevent it from being switched on.\"\n }\n ]\n },\n {\n \"name\": \"l10n\",\n \"type\": \"group\",\n \"label\": \"Localize\",\n \"importance\": \"low\",\n \"common\": true,\n \"optional\": true,\n \"fields\": [\n {\n \"name\": \"interaction\",\n \"type\": \"text\",\n \"label\": \"Interaction title\",\n \"importance\": \"low\",\n \"default\": \"Interaction\",\n \"optional\": true\n },\n {\n \"name\": \"play\",\n \"type\": \"text\",\n \"label\": \"Play title\",\n \"importance\": \"low\",\n \"default\": \"Play\",\n \"optional\": true\n },\n {\n \"name\": \"pause\",\n \"type\": \"text\",\n \"label\": \"Pause title\",\n \"importance\": \"low\",\n \"default\": \"Pause\",\n \"optional\": true\n },\n {\n \"name\": \"mute\",\n \"type\": \"text\",\n \"label\": \"Mute title\",\n \"importance\": \"low\",\n \"default\": \"Mute\",\n \"optional\": true\n },\n {\n \"name\": \"unmute\",\n \"type\": \"text\",\n \"label\": \"Unmute title\",\n \"importance\": \"low\",\n \"default\": \"Unmute\",\n \"optional\": true\n },\n {\n \"name\": \"quality\",\n \"type\": \"text\",\n \"label\": \"Video quality title\",\n \"importance\": \"low\",\n \"default\": \"Video Quality\",\n \"optional\": true\n },\n {\n \"name\": \"captions\",\n \"type\": \"text\",\n \"label\": \"Video captions title\",\n \"importance\": \"low\",\n \"default\": \"Captions\",\n \"optional\": true\n },\n {\n \"name\": \"close\",\n \"type\": \"text\",\n \"label\": \"Close button text\",\n \"importance\": \"low\",\n \"default\": \"Close\",\n \"optional\": true\n },\n {\n \"name\": \"fullscreen\",\n \"type\": \"text\",\n \"label\": \"Fullscreen title\",\n \"importance\": \"low\",\n \"default\": \"Fullscreen\",\n \"optional\": true\n },\n {\n \"name\": \"exitFullscreen\",\n \"type\": \"text\",\n \"label\": \"Exit fullscreen title\",\n \"importance\": \"low\",\n \"default\": \"Exit Fullscreen\",\n \"optional\": true\n },\n {\n \"name\": \"summary\",\n \"type\": \"text\",\n \"label\": \"Summary title\",\n \"importance\": \"low\",\n \"default\": \"Open summary dialog\",\n \"optional\": true\n },\n {\n \"name\": \"bookmarks\",\n \"type\": \"text\",\n \"label\": \"Bookmarks title\",\n \"importance\": \"low\",\n \"default\": \"Bookmarks\",\n \"optional\": true\n },\n {\n \"name\": \"endscreen\",\n \"type\": \"text\",\n \"label\": \"Submit screen title\",\n \"importance\": \"low\",\n \"default\": \"Submit screen\",\n \"optional\": true\n },\n {\n \"name\": \"defaultAdaptivitySeekLabel\",\n \"type\": \"text\",\n \"label\": \"Default label for adaptivity seek button\",\n \"importance\": \"low\",\n \"default\": \"Continue\",\n \"optional\": true\n },\n {\n \"name\": \"continueWithVideo\",\n \"type\": \"text\",\n \"label\": \"Default label for continue video button\",\n \"importance\": \"low\",\n \"default\": \"Continue with video\",\n \"optional\": true\n },\n {\n \"name\": \"playbackRate\",\n \"type\": \"text\",\n \"label\": \"Set playback rate\",\n \"importance\": \"low\",\n \"default\": \"Playback Rate\",\n \"optional\": true\n },\n {\n \"name\": \"rewind10\",\n \"type\": \"text\",\n \"label\": \"Rewind 10 Seconds\",\n \"importance\": \"low\",\n \"default\": \"Rewind 10 Seconds\",\n \"optional\": true\n },\n {\n \"name\": \"navDisabled\",\n \"type\": \"text\",\n \"label\": \"Navigation is disabled text\",\n \"importance\": \"low\",\n \"default\": \"Navigation is disabled\",\n \"optional\": true\n },\n {\n \"name\": \"sndDisabled\",\n \"type\": \"text\",\n \"label\": \"Sound is disabled text\",\n \"importance\": \"low\",\n \"default\": \"Sound is disabled\",\n \"optional\": true\n },\n {\n \"name\": \"requiresCompletionWarning\",\n \"type\": \"text\",\n \"label\": \"Warning that the user must answer the question correctly before continuing\",\n \"importance\": \"low\",\n \"default\": \"You need to answer all the questions correctly before continuing.\",\n \"optional\": true\n },\n {\n \"name\": \"back\",\n \"type\": \"text\",\n \"label\": \"Back button\",\n \"importance\": \"low\",\n \"default\": \"Back\",\n \"optional\": true\n },\n {\n \"name\": \"hours\",\n \"type\": \"text\",\n \"label\": \"Passed time hours\",\n \"importance\": \"low\",\n \"default\": \"Hours\",\n \"optional\": true\n },\n {\n \"name\": \"minutes\",\n \"type\": \"text\",\n \"label\": \"Passed time minutes\",\n \"importance\": \"low\",\n \"default\": \"Minutes\",\n \"optional\": true\n },\n {\n \"name\": \"seconds\",\n \"type\": \"text\",\n \"label\": \"Passed time seconds\",\n \"importance\": \"low\",\n \"default\": \"Seconds\",\n \"optional\": true\n },\n {\n \"name\": \"currentTime\",\n \"type\": \"text\",\n \"label\": \"Label for current time\",\n \"importance\": \"low\",\n \"default\": \"Current time:\",\n \"optional\": true\n },\n {\n \"name\": \"totalTime\",\n \"type\": \"text\",\n \"label\": \"Label for total time\",\n \"importance\": \"low\",\n \"default\": \"Total time:\",\n \"optional\": true\n },\n {\n \"name\": \"singleInteractionAnnouncement\",\n \"type\": \"text\",\n \"label\": \"Text explaining that a single interaction with a name has come into view\",\n \"importance\": \"low\",\n \"default\": \"Interaction appeared:\",\n \"optional\": true\n },\n {\n \"name\": \"multipleInteractionsAnnouncement\",\n \"type\": \"text\",\n \"label\": \"Text for explaining that multiple interactions have come into view\",\n \"importance\": \"low\",\n \"default\": \"Multiple interactions appeared.\",\n \"optional\": true\n },\n {\n \"name\": \"videoPausedAnnouncement\",\n \"type\": \"text\",\n \"label\": \"Video is paused announcement\",\n \"importance\": \"low\",\n \"default\": \"Video is paused\",\n \"optional\": true\n },\n {\n \"name\": \"content\",\n \"type\": \"text\",\n \"label\": \"Content label\",\n \"importance\": \"low\",\n \"default\": \"Content\",\n \"optional\": true\n },\n {\n \"name\": \"answered\",\n \"type\": \"text\",\n \"label\": \"Answered message (@answered will be replaced with the number of answered questions)\",\n \"importance\": \"low\",\n \"default\": \"@answered answered\",\n \"optional\": true\n },\n {\n \"name\": \"endcardTitle\",\n \"type\": \"text\",\n \"label\": \"Submit screen title\",\n \"importance\": \"low\",\n \"default\": \"@answered Question(s) answered\",\n \"description\": \"@answered will be replaced by the number of answered questions.\",\n \"optional\": true\n },\n {\n \"name\": \"endcardInformation\",\n \"type\": \"text\",\n \"label\": \"Submit screen information\",\n \"importance\": \"low\",\n \"default\": \"You have answered @answered questions, click below to submit your answers.\",\n \"description\": \"@answered will be replaced by the number of answered questions.\",\n \"optional\": true\n },\n {\n \"name\": \"endcardInformationNoAnswers\",\n \"type\": \"text\",\n \"label\": \"Submit screen information for missing answers\",\n \"importance\": \"low\",\n \"default\": \"You have not answered any questions.\",\n \"optional\": true\n },\n {\n \"name\": \"endcardInformationMustHaveAnswer\",\n \"type\": \"text\",\n \"label\": \"Submit screen information for answer needed\",\n \"importance\": \"low\",\n \"default\": \"You have to answer at least one question before you can submit your answers.\",\n \"optional\": true\n },\n {\n \"name\": \"endcardSubmitButton\",\n \"type\": \"text\",\n \"label\": \"Submit screen submit button\",\n \"importance\": \"low\",\n \"default\": \"Submit Answers\",\n \"optional\": true\n },\n {\n \"name\": \"endcardSubmitMessage\",\n \"type\": \"text\",\n \"label\": \"Submit screen submit message\",\n \"importance\": \"low\",\n \"default\": \"Your answers have been submitted!\",\n \"optional\": true\n },\n {\n \"name\": \"endcardTableRowAnswered\",\n \"type\": \"text\",\n \"label\": \"Submit screen table row title: Answered questions\",\n \"importance\": \"low\",\n \"default\": \"Answered questions\",\n \"optional\": true\n },\n {\n \"name\": \"endcardTableRowScore\",\n \"type\": \"text\",\n \"label\": \"Submit screen table row title: Score\",\n \"importance\": \"low\",\n \"default\": \"Score\",\n \"optional\": true\n },\n {\n \"name\": \"endcardAnsweredScore\",\n \"type\": \"text\",\n \"label\": \"Submit screen answered score\",\n \"importance\": \"low\",\n \"default\": \"answered\",\n \"optional\": true\n },\n {\n \"name\": \"endCardTableRowSummaryWithScore\",\n \"type\": \"text\",\n \"label\": \"Submit screen row summary including score (for readspeakers)\",\n \"importance\": \"low\",\n \"default\": \"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\n \"optional\": true\n },\n {\n \"name\": \"endCardTableRowSummaryWithoutScore\",\n \"type\": \"text\",\n \"label\": \"Submit screen row summary for no score (for readspeakers)\",\n \"importance\": \"low\",\n \"default\": \"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\",\n \"optional\": true\n }\n ]\n }\n]",
"tutorial_url": "",
"has_icon": 1
},
"created_at": "2020-09-30T20:24:58.000000Z",
"updated_at": "2020-09-30T20:24:58.000000Z"
},
"created_at": "2020-09-30T20:24:58.000000Z",
"updated_at": "2020-09-30T20:24:58.000000Z"
}
}
Received response:
Request failed with error:
Update Activity
Update the specified activity.
Example request:
curl --request PUT \
"http://localhost:8000/api/v1/suborganizations/1/stand-alone-activity/761" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"title\": \"Science of Golf: Why Balls Have Dimples\",
\"type\": \"nxpxfouggqqgjidrxdnosmzcpuwnmbjjzrhpfcsncptnazxmasjsfdxyffldvysjpstjtuooyctvowfrgnxgoqahtexnlilepcszdbdruyljybrnzzsvznenkjdhtbssgqlnwyqtvqkdt\",
\"content\": \"cumque\",
\"description\": \"rbsjtvwgedizbebkczubtpabhzzyldhllklnctillbnynynvhqcimbrftuwcxobcmcizryorhgnymrbwgdnlynrjdxhytkquirmedyhdycjjpwpfhmjuvsxlnxoopclomhqkvavesucsqkbbiqzcihbcxpmrciwlwhvnelietiqakzcifjcxkwwoncoimdvvjpejbdnehklaobxskcgyhpiwdocxtzsocierhebunnzvnhchwmkdoptocvddjnkfrplwlhfrmfnamngyknhonmgfxmpqufnbxpyofnmffxykbtnvklznaoqezbjexdihvbarthxagzyadolcdwdkmoqaohvqojhispdmmopgiqqqeigktjdglgtrskqvhfnjodjnqwufyftrbjxutxoakidxmmirmtixsdgzmzoouchpluhrdnybhowsmgyeewnrygc\",
\"data\": \"tempore\",
\"order\": 2,
\"shared\": false,
\"h5p_content_id\": 59,
\"thumb_url\": \"null\",
\"subject_id\": [
1,
2
],
\"education_level_id\": [
1,
2
],
\"author_tag_id\": [
1,
2
],
\"source_type\": \"iusto\",
\"source_url\": \"sapiente\"
}"
const url = new URL(
"http://localhost:8000/api/v1/suborganizations/1/stand-alone-activity/761"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"title": "Science of Golf: Why Balls Have Dimples",
"type": "nxpxfouggqqgjidrxdnosmzcpuwnmbjjzrhpfcsncptnazxmasjsfdxyffldvysjpstjtuooyctvowfrgnxgoqahtexnlilepcszdbdruyljybrnzzsvznenkjdhtbssgqlnwyqtvqkdt",
"content": "cumque",
"description": "rbsjtvwgedizbebkczubtpabhzzyldhllklnctillbnynynvhqcimbrftuwcxobcmcizryorhgnymrbwgdnlynrjdxhytkquirmedyhdycjjpwpfhmjuvsxlnxoopclomhqkvavesucsqkbbiqzcihbcxpmrciwlwhvnelietiqakzcifjcxkwwoncoimdvvjpejbdnehklaobxskcgyhpiwdocxtzsocierhebunnzvnhchwmkdoptocvddjnkfrplwlhfrmfnamngyknhonmgfxmpqufnbxpyofnmffxykbtnvklznaoqezbjexdihvbarthxagzyadolcdwdkmoqaohvqojhispdmmopgiqqqeigktjdglgtrskqvhfnjodjnqwufyftrbjxutxoakidxmmirmtixsdgzmzoouchpluhrdnybhowsmgyeewnrygc",
"data": "tempore",
"order": 2,
"shared": false,
"h5p_content_id": 59,
"thumb_url": "null",
"subject_id": [
1,
2
],
"education_level_id": [
1,
2
],
"author_tag_id": [
1,
2
],
"source_type": "iusto",
"source_url": "sapiente"
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->put(
'http://localhost:8000/api/v1/suborganizations/1/stand-alone-activity/761',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'title' => 'Science of Golf: Why Balls Have Dimples',
'type' => 'nxpxfouggqqgjidrxdnosmzcpuwnmbjjzrhpfcsncptnazxmasjsfdxyffldvysjpstjtuooyctvowfrgnxgoqahtexnlilepcszdbdruyljybrnzzsvznenkjdhtbssgqlnwyqtvqkdt',
'content' => 'cumque',
'description' => 'rbsjtvwgedizbebkczubtpabhzzyldhllklnctillbnynynvhqcimbrftuwcxobcmcizryorhgnymrbwgdnlynrjdxhytkquirmedyhdycjjpwpfhmjuvsxlnxoopclomhqkvavesucsqkbbiqzcihbcxpmrciwlwhvnelietiqakzcifjcxkwwoncoimdvvjpejbdnehklaobxskcgyhpiwdocxtzsocierhebunnzvnhchwmkdoptocvddjnkfrplwlhfrmfnamngyknhonmgfxmpqufnbxpyofnmffxykbtnvklznaoqezbjexdihvbarthxagzyadolcdwdkmoqaohvqojhispdmmopgiqqqeigktjdglgtrskqvhfnjodjnqwufyftrbjxutxoakidxmmirmtixsdgzmzoouchpluhrdnybhowsmgyeewnrygc',
'data' => 'tempore',
'order' => 2,
'shared' => false,
'h5p_content_id' => 59,
'thumb_url' => 'null',
'subject_id' => [
1,
2,
],
'education_level_id' => [
1,
2,
],
'author_tag_id' => [
1,
2,
],
'source_type' => 'iusto',
'source_url' => 'sapiente',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (400):
{
"errors": [
"Invalid activity id."
]
}
Example response (500):
{
"errors": [
"Failed to update activity."
]
}
Example response (200):
{
"activity": {
"id": 1,
"playlist_id": 1,
"title": "Science of Golf: Why Balls Have Dimples",
"type": "h5p",
"content": "",
"shared": false,
"order": 2,
"thumb_url": null,
"subjects": [
{
"id": 4,
"name": "English",
"order": 3,
"created_at": "2022-01-06T11:59:52.000000Z",
"updated_at": "2022-01-06T12:15:10.000000Z"
},
{
"id": 1,
"name": "Math",
"order": 1,
"created_at": "2022-01-06T11:41:46.000000Z",
"updated_at": "2022-01-06T11:41:46.000000Z"
}
],
"education_levels": [
{
"id": 1,
"name": "Grade A",
"order": 5,
"created_at": "2022-01-07T13:51:38.000000Z",
"updated_at": "2022-01-07T14:07:17.000000Z"
},
{
"id": 1,
"name": "Grade B",
"order": 6,
"created_at": "2022-01-07T13:51:38.000000Z",
"updated_at": "2022-01-07T14:07:17.000000Z"
}
],
"author_tags": [
{
"id": 1,
"name": "Audio",
"order": 1,
"created_at": "2022-01-10T13:09:36.000000Z",
"updated_at": "2022-01-10T13:09:36.000000Z"
},
{
"id": 2,
"name": "Video",
"order": 2,
"created_at": "2022-01-10T13:09:44.000000Z",
"updated_at": "2022-01-10T13:20:57.000000Z"
}
],
"gcr_activity_visibility": true,
"h5p_content": {
"id": 59,
"user_id": 1,
"title": "Science of Golf: Why Balls Have Dimples",
"library_id": 40,
"parameters": "{\"interactiveVideo\":{\"video\":{\"startScreenOptions\":{\"title\":\"Interactive Video\",\"hideStartTitle\":false},\"textTracks\":{\"videoTrack\":[{\"label\":\"Subtitles\",\"kind\":\"subtitles\",\"srcLang\":\"en\"}]},\"files\":[{\"path\":\"https://youtu.be/fcjaxC-e8oY\",\"mime\":\"video/YouTube\",\"copyright\":{\"license\":\"U\"},\"aspectRatio\":\"16:9\"}]},\"assets\":{\"interactions\":[{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":58.33,\"to\":68.33},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"133bca3d-cfe9-442d-a887-8bf1e2ce682a\",\"question\":\"<p>Why do golf balls have dimples?</p>\\n\",\"answers\":[\"<p>They reduce wind resistance.</p>\\n\",\"<p>They make the ball more visually interesting.</p>\\n\",\"<p>They grip the putting green better than a smooth ball.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"ac029b43-7225-49ed-a2d7-8656037748e0\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Why do golf balls have dimples?\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Why do golf balls have dimples?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Why do golf balls have dimples?</p>\\n\"},{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":132.969,\"to\":142.969},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"308503f3-8d41-4f4f-b016-587bcce3dfac\",\"question\":\"<p>A smooth ball will have a detached airflow, which causes what?</p>\\n\",\"answers\":[\"<p>A low pressure zone, which is what causes drag.</p>\\n\",\"<p>The ball has no spin.</p>\\n\",\"<p>The ball travels higher, but for a shorter distance.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"f70c849d-9542-4f30-9116-8b60b7da708d\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Smooth Ball?\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Smooth Ball?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Smooth Ball</p>\\n\"}],\"bookmarks\":[],\"endscreens\":[{\"time\":295,\"label\":\"4:55 Submit screen\"}]},\"summary\":{\"task\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"8e2cf84f-4557-4f79-a03e-526838498a7d\",\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"8d5527ef-3601-4ad9-9e63-2782c9775173\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Untitled Summary\"}},\"displayAt\":3}},\"override\":{\"autoplay\":false,\"loop\":false,\"showBookmarksmenuOnLoad\":false,\"showRewind10\":false,\"preventSkipping\":false,\"deactivateSound\":false},\"l10n\":{\"interaction\":\"Interaction\",\"play\":\"Play\",\"pause\":\"Pause\",\"mute\":\"Mute\",\"unmute\":\"Unmute\",\"quality\":\"Video Quality\",\"captions\":\"Captions\",\"close\":\"Close\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit Fullscreen\",\"summary\":\"Open summary dialog\",\"bookmarks\":\"Bookmarks\",\"endscreen\":\"Submit screen\",\"defaultAdaptivitySeekLabel\":\"Continue\",\"continueWithVideo\":\"Continue with video\",\"playbackRate\":\"Playback Rate\",\"rewind10\":\"Rewind 10 Seconds\",\"navDisabled\":\"Navigation is disabled\",\"sndDisabled\":\"Sound is disabled\",\"requiresCompletionWarning\":\"You need to answer all the questions correctly before continuing.\",\"back\":\"Back\",\"hours\":\"Hours\",\"minutes\":\"Minutes\",\"seconds\":\"Seconds\",\"currentTime\":\"Current time:\",\"totalTime\":\"Total time:\",\"singleInteractionAnnouncement\":\"Interaction appeared:\",\"multipleInteractionsAnnouncement\":\"Multiple interactions appeared.\",\"videoPausedAnnouncement\":\"Video is paused\",\"content\":\"Content\",\"answered\":\"@answered answered\",\"endcardTitle\":\"@answered Question(s) answered\",\"endcardInformation\":\"You have answered @answered questions, click below to submit your answers.\",\"endcardInformationNoAnswers\":\"You have not answered any questions.\",\"endcardInformationMustHaveAnswer\":\"You have to answer at least one question before you can submit your answers.\",\"endcardSubmitButton\":\"Submit Answers\",\"endcardSubmitMessage\":\"Your answers have been submitted!\",\"endcardTableRowAnswered\":\"Answered questions\",\"endcardTableRowScore\":\"Score\",\"endcardAnsweredScore\":\"answered\",\"endCardTableRowSummaryWithScore\":\"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\"endCardTableRowSummaryWithoutScore\":\"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\"}}",
"filtered": "{\"interactiveVideo\":{\"video\":{\"startScreenOptions\":{\"title\":\"Interactive Video\",\"hideStartTitle\":false},\"textTracks\":{\"videoTrack\":[{\"label\":\"Subtitles\",\"kind\":\"subtitles\",\"srcLang\":\"en\"}]},\"files\":[{\"path\":\"https://youtu.be/fcjaxC-e8oY\",\"mime\":\"video/YouTube\",\"copyright\":{\"license\":\"U\"}}]},\"assets\":{\"interactions\":[{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":58.33,\"to\":68.33},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"133bca3d-cfe9-442d-a887-8bf1e2ce682a\",\"question\":\"<p>Why do golf balls have dimples?</p>\\n\",\"answers\":[\"<p>They reduce wind resistance.</p>\\n\",\"<p>They make the ball more visually interesting.</p>\\n\",\"<p>They grip the putting green better than a smooth ball.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"ac029b43-7225-49ed-a2d7-8656037748e0\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Why do golf balls have dimples?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Why do golf balls have dimples?</p>\\n\"},{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":132.969,\"to\":142.969},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"308503f3-8d41-4f4f-b016-587bcce3dfac\",\"question\":\"<p>A smooth ball will have a detached airflow, which causes what?</p>\\n\",\"answers\":[\"<p>A low pressure zone, which is what causes drag.</p>\\n\",\"<p>The ball has no spin.</p>\\n\",\"<p>The ball travels higher, but for a shorter distance.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"f70c849d-9542-4f30-9116-8b60b7da708d\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Smooth Ball?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Smooth Ball</p>\\n\"}],\"endscreens\":[{\"time\":295,\"label\":\"4:55 Submit screen\"}]},\"summary\":{\"task\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"8e2cf84f-4557-4f79-a03e-526838498a7d\",\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"8d5527ef-3601-4ad9-9e63-2782c9775173\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\"}},\"displayAt\":3}},\"override\":{\"autoplay\":false,\"loop\":false,\"showBookmarksmenuOnLoad\":false,\"showRewind10\":false,\"preventSkipping\":false,\"deactivateSound\":false},\"l10n\":{\"interaction\":\"Interaction\",\"play\":\"Play\",\"pause\":\"Pause\",\"mute\":\"Mute\",\"unmute\":\"Unmute\",\"quality\":\"Video Quality\",\"captions\":\"Captions\",\"close\":\"Close\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit Fullscreen\",\"summary\":\"Open summary dialog\",\"bookmarks\":\"Bookmarks\",\"endscreen\":\"Submit screen\",\"defaultAdaptivitySeekLabel\":\"Continue\",\"continueWithVideo\":\"Continue with video\",\"playbackRate\":\"Playback Rate\",\"rewind10\":\"Rewind 10 Seconds\",\"navDisabled\":\"Navigation is disabled\",\"sndDisabled\":\"Sound is disabled\",\"requiresCompletionWarning\":\"You need to answer all the questions correctly before continuing.\",\"back\":\"Back\",\"hours\":\"Hours\",\"minutes\":\"Minutes\",\"seconds\":\"Seconds\",\"currentTime\":\"Current time:\",\"totalTime\":\"Total time:\",\"singleInteractionAnnouncement\":\"Interaction appeared:\",\"multipleInteractionsAnnouncement\":\"Multiple interactions appeared.\",\"videoPausedAnnouncement\":\"Video is paused\",\"content\":\"Content\",\"answered\":\"@answered answered\",\"endcardTitle\":\"@answered Question(s) answered\",\"endcardInformation\":\"You have answered @answered questions, click below to submit your answers.\",\"endcardInformationNoAnswers\":\"You have not answered any questions.\",\"endcardInformationMustHaveAnswer\":\"You have to answer at least one question before you can submit your answers.\",\"endcardSubmitButton\":\"Submit Answers\",\"endcardSubmitMessage\":\"Your answers have been submitted!\",\"endcardTableRowAnswered\":\"Answered questions\",\"endcardTableRowScore\":\"Score\",\"endcardAnsweredScore\":\"answered\",\"endCardTableRowSummaryWithScore\":\"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\"endCardTableRowSummaryWithoutScore\":\"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\"}}",
"slug": "science-of-golf-why-balls-have-dimples",
"embed_type": "div",
"disable": 9,
"content_type": null,
"authors": null,
"source": null,
"year_from": null,
"year_to": null,
"license": "U",
"license_version": null,
"license_extras": null,
"author_comments": null,
"changes": null,
"default_language": null,
"library": {
"id": 40,
"created_at": null,
"updated_at": null,
"name": "H5P.InteractiveVideo",
"title": "Interactive Video",
"major_version": 1,
"minor_version": 21,
"patch_version": 9,
"runnable": 1,
"restricted": 0,
"fullscreen": 1,
"embed_types": "iframe",
"preloaded_js": "dist/h5p-interactive-video.js",
"preloaded_css": "dist/h5p-interactive-video.css",
"drop_library_css": "",
"semantics": "[\n {\n \"name\": \"interactiveVideo\",\n \"type\": \"group\",\n \"widget\": \"wizard\",\n \"label\": \"Interactive Video Editor\",\n \"importance\": \"high\",\n \"fields\": [\n {\n \"name\": \"video\",\n \"type\": \"group\",\n \"label\": \"Upload/embed video\",\n \"importance\": \"high\",\n \"fields\": [\n {\n \"name\": \"files\",\n \"type\": \"video\",\n \"label\": \"Add a video\",\n \"importance\": \"high\",\n \"description\": \"Click below to add a video you wish to use in your interactive video. You can add a video link or upload video files. It is possible to add several versions of the video with different qualities. To ensure maximum support in browsers at least add a version in webm and mp4 formats.\",\n \"extraAttributes\": [\n \"metadata\"\n ],\n \"enableCustomQualityLabel\": true\n },\n {\n \"name\": \"startScreenOptions\",\n \"type\": \"group\",\n \"label\": \"Start screen options (unsupported for YouTube videos)\",\n \"importance\": \"low\",\n \"fields\": [\n {\n \"name\": \"title\",\n \"type\": \"text\",\n \"label\": \"The title of this interactive video\",\n \"importance\": \"low\",\n \"maxLength\": 60,\n \"default\": \"Interactive Video\",\n \"description\": \"Used in summaries, statistics etc.\"\n },\n {\n \"name\": \"hideStartTitle\",\n \"type\": \"boolean\",\n \"label\": \"Hide title on video start screen\",\n \"importance\": \"low\",\n \"optional\": true,\n \"default\": false\n },\n {\n \"name\": \"shortStartDescription\",\n \"type\": \"text\",\n \"label\": \"Short description (Optional)\",\n \"importance\": \"low\",\n \"optional\": true,\n \"maxLength\": 120,\n \"description\": \"Optional. Display a short description text on the video start screen. Does not work for YouTube videos.\"\n },\n {\n \"name\": \"poster\",\n \"type\": \"image\",\n \"label\": \"Poster image\",\n \"importance\": \"low\",\n \"optional\": true,\n \"description\": \"Image displayed before the user launches the video. Does not work for YouTube Videos.\"\n }\n ]\n },\n {\n \"name\": \"textTracks\",\n \"type\": \"group\",\n \"label\": \"Text tracks (unsupported for YouTube videos)\",\n \"importance\": \"low\",\n \"fields\": [\n {\n \"name\": \"videoTrack\",\n \"type\": \"list\",\n \"label\": \"Available text tracks\",\n \"importance\": \"low\",\n \"optional\": true,\n \"entity\": \"Track\",\n \"min\": 0,\n \"defaultNum\": 1,\n \"field\": {\n \"name\": \"track\",\n \"type\": \"group\",\n \"label\": \"Track\",\n \"importance\": \"low\",\n \"expanded\": false,\n \"fields\": [\n {\n \"name\": \"label\",\n \"type\": \"text\",\n \"label\": \"Track label\",\n \"description\": \"Used if you offer multiple tracks and the user has to choose a track. For instance 'Spanish subtitles' could be the label of a Spanish subtitle track.\",\n \"importance\": \"low\",\n \"default\": \"Subtitles\",\n \"optional\": true\n },\n {\n \"name\": \"kind\",\n \"type\": \"select\",\n \"label\": \"Type of text track\",\n \"importance\": \"low\",\n \"default\": \"subtitles\",\n \"options\": [\n {\n \"value\": \"subtitles\",\n \"label\": \"Subtitles\"\n },\n {\n \"value\": \"captions\",\n \"label\": \"Captions\"\n },\n {\n \"value\": \"descriptions\",\n \"label\": \"Descriptions\"\n }\n ]\n },\n {\n \"name\": \"srcLang\",\n \"type\": \"text\",\n \"label\": \"Source language, must be defined for subtitles\",\n \"importance\": \"low\",\n \"default\": \"en\",\n \"description\": \"Must be a valid BCP 47 language tag. If 'Subtitles' is the type of text track selected, the source language of the track must be defined.\"\n },\n {\n \"name\": \"track\",\n \"type\": \"file\",\n \"label\": \"Track source (WebVTT file)\",\n \"importance\": \"low\"\n }\n ]\n }\n },\n {\n \"name\": \"defaultTrackLabel\",\n \"type\": \"text\",\n \"label\": \"Default text track\",\n \"description\": \"If left empty or not matching any of the text tracks the first text track will be used as the default.\",\n \"importance\": \"low\",\n \"optional\": true\n }\n ]\n }\n ]\n },\n {\n \"name\": \"assets\",\n \"type\": \"group\",\n \"label\": \"Add interactions\",\n \"importance\": \"high\",\n \"widget\": \"interactiveVideo\",\n \"video\": \"video/files\",\n \"poster\": \"video/startScreenOptions/poster\",\n \"fields\": [\n {\n \"name\": \"interactions\",\n \"type\": \"list\",\n \"field\": {\n \"name\": \"interaction\",\n \"type\": \"group\",\n \"fields\": [\n {\n \"name\": \"duration\",\n \"type\": \"group\",\n \"widget\": \"duration\",\n \"label\": \"Display time\",\n \"importance\": \"low\",\n \"fields\": [\n {\n \"name\": \"from\",\n \"type\": \"number\"\n },\n {\n \"name\": \"to\",\n \"type\": \"number\"\n }\n ]\n },\n {\n \"name\": \"pause\",\n \"label\": \"Pause video\",\n \"importance\": \"low\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"displayType\",\n \"label\": \"Display as\",\n \"importance\": \"low\",\n \"description\": \"<b>Button</b> is a collapsed interaction the user must press to open. <b>Poster</b> is an expanded interaction displayed directly on top of the video\",\n \"type\": \"select\",\n \"widget\": \"imageRadioButtonGroup\",\n \"options\": [\n {\n \"value\": \"button\",\n \"label\": \"Button\"\n },\n {\n \"value\": \"poster\",\n \"label\": \"Poster\"\n }\n ],\n \"default\": \"button\"\n },\n {\n \"name\": \"buttonOnMobile\",\n \"label\": \"Turn into button on small screens\",\n \"importance\": \"low\",\n \"type\": \"boolean\",\n \"default\": false\n },\n {\n \"name\": \"label\",\n \"type\": \"text\",\n \"widget\": \"html\",\n \"label\": \"Label\",\n \"importance\": \"low\",\n \"description\": \"Label displayed next to interaction icon.\",\n \"optional\": true,\n \"enterMode\": \"p\",\n \"tags\": [\n \"p\"\n ]\n },\n {\n \"name\": \"x\",\n \"type\": \"number\",\n \"importance\": \"low\",\n \"widget\": \"none\"\n },\n {\n \"name\": \"y\",\n \"type\": \"number\",\n \"importance\": \"low\",\n \"widget\": \"none\"\n },\n {\n \"name\": \"width\",\n \"type\": \"number\",\n \"widget\": \"none\",\n \"importance\": \"low\",\n \"optional\": true\n },\n {\n \"name\": \"height\",\n \"type\": \"number\",\n \"widget\": \"none\",\n \"importance\": \"low\",\n \"optional\": true\n },\n {\n \"name\": \"libraryTitle\",\n \"type\": \"text\",\n \"importance\": \"low\",\n \"optional\": true,\n \"widget\": \"none\"\n },\n {\n \"name\": \"action\",\n \"type\": \"library\",\n \"importance\": \"low\",\n \"options\": [\n \"H5P.Nil 1.0\",\n \"H5P.Text 1.1\",\n \"H5P.Table 1.1\",\n \"H5P.Link 1.3\",\n \"H5P.Image 1.1\",\n \"H5P.Summary 1.10\",\n \"H5P.SingleChoiceSet 1.11\",\n \"H5P.MultiChoice 1.14\",\n \"H5P.TrueFalse 1.6\",\n \"H5P.Blanks 1.12\",\n \"H5P.DragQuestion 1.13\",\n \"H5P.MarkTheWords 1.9\",\n \"H5P.DragText 1.8\",\n \"H5P.GoToQuestion 1.3\",\n \"H5P.IVHotspot 1.2\",\n \"H5P.Questionnaire 1.2\",\n \"H5P.FreeTextQuestion 1.0\"\n ]\n },\n {\n \"name\": \"adaptivity\",\n \"type\": \"group\",\n \"label\": \"Adaptivity\",\n \"importance\": \"low\",\n \"optional\": true,\n \"fields\": [\n {\n \"name\": \"correct\",\n \"type\": \"group\",\n \"label\": \"Action on all correct\",\n \"fields\": [\n {\n \"name\": \"seekTo\",\n \"type\": \"number\",\n \"widget\": \"timecode\",\n \"label\": \"Seek to\",\n \"description\": \"Enter timecode in the format M:SS\"\n },\n {\n \"name\": \"allowOptOut\",\n \"type\": \"boolean\",\n \"label\": \"Allow the user to opt out and continue\"\n },\n {\n \"name\": \"message\",\n \"type\": \"text\",\n \"widget\": \"html\",\n \"enterMode\": \"p\",\n \"tags\": [\n \"strong\",\n \"em\",\n \"del\",\n \"a\",\n \"code\"\n ],\n \"label\": \"Message\"\n },\n {\n \"name\": \"seekLabel\",\n \"type\": \"text\",\n \"label\": \"Label for seek button\"\n }\n ]\n },\n {\n \"name\": \"wrong\",\n \"type\": \"group\",\n \"label\": \"Action on wrong\",\n \"fields\": [\n {\n \"name\": \"seekTo\",\n \"type\": \"number\",\n \"widget\": \"timecode\",\n \"label\": \"Seek to\",\n \"description\": \"Enter timecode in the format M:SS\"\n },\n {\n \"name\": \"allowOptOut\",\n \"type\": \"boolean\",\n \"label\": \"Allow the user to opt out and continue\"\n },\n {\n \"name\": \"message\",\n \"type\": \"text\",\n \"widget\": \"html\",\n \"enterMode\": \"p\",\n \"tags\": [\n \"strong\",\n \"em\",\n \"del\",\n \"a\",\n \"code\"\n ],\n \"label\": \"Message\"\n },\n {\n \"name\": \"seekLabel\",\n \"type\": \"text\",\n \"label\": \"Label for seek button\"\n }\n ]\n },\n {\n \"name\": \"requireCompletion\",\n \"type\": \"boolean\",\n \"label\": \"Require full score for task before proceeding\",\n \"description\": \"For best functionality this option should be used in conjunction with the \\\"Prevent skipping forward in a video\\\" option of Interactive Video.\"\n }\n ]\n },\n {\n \"name\": \"visuals\",\n \"label\": \"Visuals\",\n \"importance\": \"low\",\n \"type\": \"group\",\n \"fields\": [\n {\n \"name\": \"backgroundColor\",\n \"type\": \"text\",\n \"label\": \"Background color\",\n \"widget\": \"colorSelector\",\n \"default\": \"rgb(255, 255, 255)\",\n \"spectrum\": {\n \"showInput\": true,\n \"showAlpha\": true,\n \"preferredFormat\": \"rgb\",\n \"showPalette\": true,\n \"palette\": [\n [\n \"rgba(0, 0, 0, 0)\"\n ],\n [\n \"rgb(67, 67, 67)\",\n \"rgb(102, 102, 102)\",\n \"rgb(204, 204, 204)\",\n \"rgb(217, 217, 217)\",\n \"rgb(255, 255, 255)\"\n ],\n [\n \"rgb(152, 0, 0)\",\n \"rgb(255, 0, 0)\",\n \"rgb(255, 153, 0)\",\n \"rgb(255, 255, 0)\",\n \"rgb(0, 255, 0)\",\n \"rgb(0, 255, 255)\",\n \"rgb(74, 134, 232)\",\n \"rgb(0, 0, 255)\",\n \"rgb(153, 0, 255)\",\n \"rgb(255, 0, 255)\"\n ],\n [\n \"rgb(230, 184, 175)\",\n \"rgb(244, 204, 204)\",\n \"rgb(252, 229, 205)\",\n \"rgb(255, 242, 204)\",\n \"rgb(217, 234, 211)\",\n \"rgb(208, 224, 227)\",\n \"rgb(201, 218, 248)\",\n \"rgb(207, 226, 243)\",\n \"rgb(217, 210, 233)\",\n \"rgb(234, 209, 220)\",\n \"rgb(221, 126, 107)\",\n \"rgb(234, 153, 153)\",\n \"rgb(249, 203, 156)\",\n \"rgb(255, 229, 153)\",\n \"rgb(182, 215, 168)\",\n \"rgb(162, 196, 201)\",\n \"rgb(164, 194, 244)\",\n \"rgb(159, 197, 232)\",\n \"rgb(180, 167, 214)\",\n \"rgb(213, 166, 189)\",\n \"rgb(204, 65, 37)\",\n \"rgb(224, 102, 102)\",\n \"rgb(246, 178, 107)\",\n \"rgb(255, 217, 102)\",\n \"rgb(147, 196, 125)\",\n \"rgb(118, 165, 175)\",\n \"rgb(109, 158, 235)\",\n \"rgb(111, 168, 220)\",\n \"rgb(142, 124, 195)\",\n \"rgb(194, 123, 160)\",\n \"rgb(166, 28, 0)\",\n \"rgb(204, 0, 0)\",\n \"rgb(230, 145, 56)\",\n \"rgb(241, 194, 50)\",\n \"rgb(106, 168, 79)\",\n \"rgb(69, 129, 142)\",\n \"rgb(60, 120, 216)\",\n \"rgb(61, 133, 198)\",\n \"rgb(103, 78, 167)\",\n \"rgb(166, 77, 121)\",\n \"rgb(91, 15, 0)\",\n \"rgb(102, 0, 0)\",\n \"rgb(120, 63, 4)\",\n \"rgb(127, 96, 0)\",\n \"rgb(39, 78, 19)\",\n \"rgb(12, 52, 61)\",\n \"rgb(28, 69, 135)\",\n \"rgb(7, 55, 99)\",\n \"rgb(32, 18, 77)\",\n \"rgb(76, 17, 48)\"\n ]\n ]\n }\n },\n {\n \"name\": \"boxShadow\",\n \"type\": \"boolean\",\n \"label\": \"Box shadow\",\n \"default\": true,\n \"description\": \"Adds a subtle shadow around the interaction. You might want to disable this for completely transparent interactions\"\n }\n ]\n },\n {\n \"name\": \"goto\",\n \"label\": \"Go to on click\",\n \"importance\": \"low\",\n \"type\": \"group\",\n \"fields\": [\n {\n \"name\": \"type\",\n \"label\": \"Type\",\n \"type\": \"select\",\n \"widget\": \"selectToggleFields\",\n \"options\": [\n {\n \"value\": \"timecode\",\n \"label\": \"Timecode\",\n \"hideFields\": [\n \"url\"\n ]\n },\n {\n \"value\": \"url\",\n \"label\": \"Another page (URL)\",\n \"hideFields\": [\n \"time\"\n ]\n }\n ],\n \"optional\": true\n },\n {\n \"name\": \"time\",\n \"type\": \"number\",\n \"widget\": \"timecode\",\n \"label\": \"Go To\",\n \"description\": \"The target time the user will be taken to upon pressing the hotspot. Enter timecode in the format M:SS.\",\n \"optional\": true\n },\n {\n \"name\": \"url\",\n \"type\": \"group\",\n \"label\": \"URL\",\n \"widget\": \"linkWidget\",\n \"optional\": true,\n \"fields\": [\n {\n \"name\": \"protocol\",\n \"type\": \"select\",\n \"label\": \"Protocol\",\n \"options\": [\n {\n \"value\": \"http://\",\n \"label\": \"http://\"\n },\n {\n \"value\": \"https://\",\n \"label\": \"https://\"\n },\n {\n \"value\": \"/\",\n \"label\": \"(root relative)\"\n },\n {\n \"value\": \"other\",\n \"label\": \"other\"\n }\n ],\n \"optional\": true,\n \"default\": \"http://\"\n },\n {\n \"name\": \"url\",\n \"type\": \"text\",\n \"label\": \"URL\",\n \"optional\": true\n }\n ]\n },\n {\n \"name\": \"visualize\",\n \"type\": \"boolean\",\n \"label\": \"Visualize\",\n \"description\": \"Show that interaction can be clicked by adding a border and an icon\"\n }\n ]\n }\n ]\n }\n },\n {\n \"name\": \"bookmarks\",\n \"importance\": \"low\",\n \"type\": \"list\",\n \"field\": {\n \"name\": \"bookmark\",\n \"type\": \"group\",\n \"fields\": [\n {\n \"name\": \"time\",\n \"type\": \"number\"\n },\n {\n \"name\": \"label\",\n \"type\": \"text\"\n }\n ]\n }\n },\n {\n \"name\": \"endscreens\",\n \"importance\": \"low\",\n \"type\": \"list\",\n \"field\": {\n \"name\": \"endscreen\",\n \"type\": \"group\",\n \"fields\": [\n {\n \"name\": \"time\",\n \"type\": \"number\"\n },\n {\n \"name\": \"label\",\n \"type\": \"text\"\n }\n ]\n }\n }\n ]\n },\n {\n \"name\": \"summary\",\n \"type\": \"group\",\n \"label\": \"Summary task\",\n \"importance\": \"high\",\n \"fields\": [\n {\n \"name\": \"task\",\n \"type\": \"library\",\n \"options\": [\n \"H5P.Summary 1.10\"\n ],\n \"default\": {\n \"library\": \"H5P.Summary 1.10\",\n \"params\": {}\n }\n },\n {\n \"name\": \"displayAt\",\n \"type\": \"number\",\n \"label\": \"Display at\",\n \"description\": \"Number of seconds before the video ends.\",\n \"default\": 3\n }\n ]\n }\n ]\n },\n {\n \"name\": \"override\",\n \"type\": \"group\",\n \"label\": \"Behavioural settings\",\n \"importance\": \"low\",\n \"optional\": true,\n \"fields\": [\n {\n \"name\": \"startVideoAt\",\n \"type\": \"number\",\n \"widget\": \"timecode\",\n \"label\": \"Start video at\",\n \"importance\": \"low\",\n \"optional\": true,\n \"description\": \"Enter timecode in the format M:SS\"\n },\n {\n \"name\": \"autoplay\",\n \"type\": \"boolean\",\n \"label\": \"Auto-play video\",\n \"default\": false,\n \"optional\": true,\n \"description\": \"Start playing the video automatically\"\n },\n {\n \"name\": \"loop\",\n \"type\": \"boolean\",\n \"label\": \"Loop the video\",\n \"default\": false,\n \"optional\": true,\n \"description\": \"Check if video should run in a loop\"\n },\n {\n \"name\": \"showSolutionButton\",\n \"type\": \"select\",\n \"label\": \"Override \\\"Show Solution\\\" button\",\n \"importance\": \"low\",\n \"description\": \"This option determines if the \\\"Show Solution\\\" button will be shown for all questions, disabled for all or configured for each question individually.\",\n \"optional\": true,\n \"options\": [\n {\n \"value\": \"on\",\n \"label\": \"Enabled\"\n },\n {\n \"value\": \"off\",\n \"label\": \"Disabled\"\n }\n ]\n },\n {\n \"name\": \"retryButton\",\n \"type\": \"select\",\n \"label\": \"Override \\\"Retry\\\" button\",\n \"importance\": \"low\",\n \"description\": \"This option determines if the \\\"Retry\\\" button will be shown for all questions, disabled for all or configured for each question individually.\",\n \"optional\": true,\n \"options\": [\n {\n \"value\": \"on\",\n \"label\": \"Enabled\"\n },\n {\n \"value\": \"off\",\n \"label\": \"Disabled\"\n }\n ]\n },\n {\n \"name\": \"showBookmarksmenuOnLoad\",\n \"type\": \"boolean\",\n \"label\": \"Start with bookmarks menu open\",\n \"importance\": \"low\",\n \"default\": false,\n \"description\": \"This function is not available on iPad when using YouTube as video source.\"\n },\n {\n \"name\": \"showRewind10\",\n \"type\": \"boolean\",\n \"label\": \"Show button for rewinding 10 seconds\",\n \"importance\": \"low\",\n \"default\": false\n },\n {\n \"name\": \"preventSkipping\",\n \"type\": \"boolean\",\n \"default\": false,\n \"label\": \"Prevent skipping forward in a video\",\n \"importance\": \"low\",\n \"description\": \"Enabling this options will disable user video navigation through default controls.\"\n },\n {\n \"name\": \"deactivateSound\",\n \"type\": \"boolean\",\n \"default\": false,\n \"label\": \"Deactivate sound\",\n \"importance\": \"low\",\n \"description\": \"Enabling this option will deactivate the video's sound and prevent it from being switched on.\"\n }\n ]\n },\n {\n \"name\": \"l10n\",\n \"type\": \"group\",\n \"label\": \"Localize\",\n \"importance\": \"low\",\n \"common\": true,\n \"optional\": true,\n \"fields\": [\n {\n \"name\": \"interaction\",\n \"type\": \"text\",\n \"label\": \"Interaction title\",\n \"importance\": \"low\",\n \"default\": \"Interaction\",\n \"optional\": true\n },\n {\n \"name\": \"play\",\n \"type\": \"text\",\n \"label\": \"Play title\",\n \"importance\": \"low\",\n \"default\": \"Play\",\n \"optional\": true\n },\n {\n \"name\": \"pause\",\n \"type\": \"text\",\n \"label\": \"Pause title\",\n \"importance\": \"low\",\n \"default\": \"Pause\",\n \"optional\": true\n },\n {\n \"name\": \"mute\",\n \"type\": \"text\",\n \"label\": \"Mute title\",\n \"importance\": \"low\",\n \"default\": \"Mute\",\n \"optional\": true\n },\n {\n \"name\": \"unmute\",\n \"type\": \"text\",\n \"label\": \"Unmute title\",\n \"importance\": \"low\",\n \"default\": \"Unmute\",\n \"optional\": true\n },\n {\n \"name\": \"quality\",\n \"type\": \"text\",\n \"label\": \"Video quality title\",\n \"importance\": \"low\",\n \"default\": \"Video Quality\",\n \"optional\": true\n },\n {\n \"name\": \"captions\",\n \"type\": \"text\",\n \"label\": \"Video captions title\",\n \"importance\": \"low\",\n \"default\": \"Captions\",\n \"optional\": true\n },\n {\n \"name\": \"close\",\n \"type\": \"text\",\n \"label\": \"Close button text\",\n \"importance\": \"low\",\n \"default\": \"Close\",\n \"optional\": true\n },\n {\n \"name\": \"fullscreen\",\n \"type\": \"text\",\n \"label\": \"Fullscreen title\",\n \"importance\": \"low\",\n \"default\": \"Fullscreen\",\n \"optional\": true\n },\n {\n \"name\": \"exitFullscreen\",\n \"type\": \"text\",\n \"label\": \"Exit fullscreen title\",\n \"importance\": \"low\",\n \"default\": \"Exit Fullscreen\",\n \"optional\": true\n },\n {\n \"name\": \"summary\",\n \"type\": \"text\",\n \"label\": \"Summary title\",\n \"importance\": \"low\",\n \"default\": \"Open summary dialog\",\n \"optional\": true\n },\n {\n \"name\": \"bookmarks\",\n \"type\": \"text\",\n \"label\": \"Bookmarks title\",\n \"importance\": \"low\",\n \"default\": \"Bookmarks\",\n \"optional\": true\n },\n {\n \"name\": \"endscreen\",\n \"type\": \"text\",\n \"label\": \"Submit screen title\",\n \"importance\": \"low\",\n \"default\": \"Submit screen\",\n \"optional\": true\n },\n {\n \"name\": \"defaultAdaptivitySeekLabel\",\n \"type\": \"text\",\n \"label\": \"Default label for adaptivity seek button\",\n \"importance\": \"low\",\n \"default\": \"Continue\",\n \"optional\": true\n },\n {\n \"name\": \"continueWithVideo\",\n \"type\": \"text\",\n \"label\": \"Default label for continue video button\",\n \"importance\": \"low\",\n \"default\": \"Continue with video\",\n \"optional\": true\n },\n {\n \"name\": \"playbackRate\",\n \"type\": \"text\",\n \"label\": \"Set playback rate\",\n \"importance\": \"low\",\n \"default\": \"Playback Rate\",\n \"optional\": true\n },\n {\n \"name\": \"rewind10\",\n \"type\": \"text\",\n \"label\": \"Rewind 10 Seconds\",\n \"importance\": \"low\",\n \"default\": \"Rewind 10 Seconds\",\n \"optional\": true\n },\n {\n \"name\": \"navDisabled\",\n \"type\": \"text\",\n \"label\": \"Navigation is disabled text\",\n \"importance\": \"low\",\n \"default\": \"Navigation is disabled\",\n \"optional\": true\n },\n {\n \"name\": \"sndDisabled\",\n \"type\": \"text\",\n \"label\": \"Sound is disabled text\",\n \"importance\": \"low\",\n \"default\": \"Sound is disabled\",\n \"optional\": true\n },\n {\n \"name\": \"requiresCompletionWarning\",\n \"type\": \"text\",\n \"label\": \"Warning that the user must answer the question correctly before continuing\",\n \"importance\": \"low\",\n \"default\": \"You need to answer all the questions correctly before continuing.\",\n \"optional\": true\n },\n {\n \"name\": \"back\",\n \"type\": \"text\",\n \"label\": \"Back button\",\n \"importance\": \"low\",\n \"default\": \"Back\",\n \"optional\": true\n },\n {\n \"name\": \"hours\",\n \"type\": \"text\",\n \"label\": \"Passed time hours\",\n \"importance\": \"low\",\n \"default\": \"Hours\",\n \"optional\": true\n },\n {\n \"name\": \"minutes\",\n \"type\": \"text\",\n \"label\": \"Passed time minutes\",\n \"importance\": \"low\",\n \"default\": \"Minutes\",\n \"optional\": true\n },\n {\n \"name\": \"seconds\",\n \"type\": \"text\",\n \"label\": \"Passed time seconds\",\n \"importance\": \"low\",\n \"default\": \"Seconds\",\n \"optional\": true\n },\n {\n \"name\": \"currentTime\",\n \"type\": \"text\",\n \"label\": \"Label for current time\",\n \"importance\": \"low\",\n \"default\": \"Current time:\",\n \"optional\": true\n },\n {\n \"name\": \"totalTime\",\n \"type\": \"text\",\n \"label\": \"Label for total time\",\n \"importance\": \"low\",\n \"default\": \"Total time:\",\n \"optional\": true\n },\n {\n \"name\": \"singleInteractionAnnouncement\",\n \"type\": \"text\",\n \"label\": \"Text explaining that a single interaction with a name has come into view\",\n \"importance\": \"low\",\n \"default\": \"Interaction appeared:\",\n \"optional\": true\n },\n {\n \"name\": \"multipleInteractionsAnnouncement\",\n \"type\": \"text\",\n \"label\": \"Text for explaining that multiple interactions have come into view\",\n \"importance\": \"low\",\n \"default\": \"Multiple interactions appeared.\",\n \"optional\": true\n },\n {\n \"name\": \"videoPausedAnnouncement\",\n \"type\": \"text\",\n \"label\": \"Video is paused announcement\",\n \"importance\": \"low\",\n \"default\": \"Video is paused\",\n \"optional\": true\n },\n {\n \"name\": \"content\",\n \"type\": \"text\",\n \"label\": \"Content label\",\n \"importance\": \"low\",\n \"default\": \"Content\",\n \"optional\": true\n },\n {\n \"name\": \"answered\",\n \"type\": \"text\",\n \"label\": \"Answered message (@answered will be replaced with the number of answered questions)\",\n \"importance\": \"low\",\n \"default\": \"@answered answered\",\n \"optional\": true\n },\n {\n \"name\": \"endcardTitle\",\n \"type\": \"text\",\n \"label\": \"Submit screen title\",\n \"importance\": \"low\",\n \"default\": \"@answered Question(s) answered\",\n \"description\": \"@answered will be replaced by the number of answered questions.\",\n \"optional\": true\n },\n {\n \"name\": \"endcardInformation\",\n \"type\": \"text\",\n \"label\": \"Submit screen information\",\n \"importance\": \"low\",\n \"default\": \"You have answered @answered questions, click below to submit your answers.\",\n \"description\": \"@answered will be replaced by the number of answered questions.\",\n \"optional\": true\n },\n {\n \"name\": \"endcardInformationNoAnswers\",\n \"type\": \"text\",\n \"label\": \"Submit screen information for missing answers\",\n \"importance\": \"low\",\n \"default\": \"You have not answered any questions.\",\n \"optional\": true\n },\n {\n \"name\": \"endcardInformationMustHaveAnswer\",\n \"type\": \"text\",\n \"label\": \"Submit screen information for answer needed\",\n \"importance\": \"low\",\n \"default\": \"You have to answer at least one question before you can submit your answers.\",\n \"optional\": true\n },\n {\n \"name\": \"endcardSubmitButton\",\n \"type\": \"text\",\n \"label\": \"Submit screen submit button\",\n \"importance\": \"low\",\n \"default\": \"Submit Answers\",\n \"optional\": true\n },\n {\n \"name\": \"endcardSubmitMessage\",\n \"type\": \"text\",\n \"label\": \"Submit screen submit message\",\n \"importance\": \"low\",\n \"default\": \"Your answers have been submitted!\",\n \"optional\": true\n },\n {\n \"name\": \"endcardTableRowAnswered\",\n \"type\": \"text\",\n \"label\": \"Submit screen table row title: Answered questions\",\n \"importance\": \"low\",\n \"default\": \"Answered questions\",\n \"optional\": true\n },\n {\n \"name\": \"endcardTableRowScore\",\n \"type\": \"text\",\n \"label\": \"Submit screen table row title: Score\",\n \"importance\": \"low\",\n \"default\": \"Score\",\n \"optional\": true\n },\n {\n \"name\": \"endcardAnsweredScore\",\n \"type\": \"text\",\n \"label\": \"Submit screen answered score\",\n \"importance\": \"low\",\n \"default\": \"answered\",\n \"optional\": true\n },\n {\n \"name\": \"endCardTableRowSummaryWithScore\",\n \"type\": \"text\",\n \"label\": \"Submit screen row summary including score (for readspeakers)\",\n \"importance\": \"low\",\n \"default\": \"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\n \"optional\": true\n },\n {\n \"name\": \"endCardTableRowSummaryWithoutScore\",\n \"type\": \"text\",\n \"label\": \"Submit screen row summary for no score (for readspeakers)\",\n \"importance\": \"low\",\n \"default\": \"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\",\n \"optional\": true\n }\n ]\n }\n]",
"tutorial_url": "",
"has_icon": 1
},
"created_at": "2020-09-30T20:24:58.000000Z",
"updated_at": "2020-09-30T20:24:58.000000Z"
},
"created_at": "2020-09-30T20:24:58.000000Z",
"updated_at": "2020-09-30T20:24:58.000000Z"
}
}
Received response:
Request failed with error:
Remove Standalone Activity
Remove the specified activity.
Example request:
curl --request DELETE \
"http://localhost:8000/api/v1/suborganizations/1/stand-alone-activity/761" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/suborganizations/1/stand-alone-activity/761"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->delete(
'http://localhost:8000/api/v1/suborganizations/1/stand-alone-activity/761',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "Activity has been deleted successfully."
}
Example response (500):
{
"errors": [
"Failed to delete activity."
]
}
Received response:
Request failed with error:
Get Activity Detail
Get the specified activity in detail.
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/suborganizations/1/stand-alone-activity/761/detail" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/suborganizations/1/stand-alone-activity/761/detail"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/suborganizations/1/stand-alone-activity/761/detail',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"activity": {
"id": 1,
"playlist": {
"id": 1,
"title": "The Engineering & Design Behind Golf Balls",
"is_public": true,
"order": 0,
"project_id": 1,
"project": {
"id": 1,
"name": "The Science of Golf",
"description": "Uncover the science, technology, engineering, and mathematics behind the game of golf.",
"thumb_url": "/storage/projects/nN5y8v8zh2ghxrKuHCv5wvJOREFw0Nr27s2DPxWq.png",
"starter_project": false,
"shared": false,
"is_public": true,
"users": [
{
"id": 1,
"email": "john.doe@currikistudio.org",
"first_name": "John",
"last_name": "Doe",
"role": "owner"
}
],
"created_at": "2020-04-30T20:03:12.000000Z",
"updated_at": "2020-07-11T12:51:07.000000Z"
},
"created_at": "2020-04-30T20:03:12.000000Z",
"updated_at": "2020-07-11T12:51:07.000000Z"
},
"title": "Science of Golf: Why Balls Have Dimples",
"type": "h5p",
"content": "",
"shared": false,
"order": 2,
"thumb_url": null,
"subjects": [
{
"id": 4,
"name": "English",
"order": 3,
"created_at": "2022-01-06T11:59:52.000000Z",
"updated_at": "2022-01-06T12:15:10.000000Z"
},
{
"id": 1,
"name": "Math",
"order": 1,
"created_at": "2022-01-06T11:41:46.000000Z",
"updated_at": "2022-01-06T11:41:46.000000Z"
}
],
"education_levels": [
{
"id": 1,
"name": "Grade A",
"order": 5,
"created_at": "2022-01-07T13:51:38.000000Z",
"updated_at": "2022-01-07T14:07:17.000000Z"
},
{
"id": 1,
"name": "Grade B",
"order": 6,
"created_at": "2022-01-07T13:51:38.000000Z",
"updated_at": "2022-01-07T14:07:17.000000Z"
}
],
"author_tags": [
{
"id": 1,
"name": "Audio",
"order": 1,
"created_at": "2022-01-10T13:09:36.000000Z",
"updated_at": "2022-01-10T13:09:36.000000Z"
},
{
"id": 2,
"name": "Video",
"order": 2,
"created_at": "2022-01-10T13:09:44.000000Z",
"updated_at": "2022-01-10T13:20:57.000000Z"
}
],
"h5p": "{\"params\":{\"interactiveVideo\":{\"video\":{\"startScreenOptions\":{\"title\":\"Interactive Video\",\"hideStartTitle\":false},\"textTracks\":{\"videoTrack\":[{\"label\":\"Subtitles\",\"kind\":\"subtitles\",\"srcLang\":\"en\"}]},\"files\":[{\"path\":\"https://youtu.be/fcjaxC-e8oY\",\"mime\":\"video/YouTube\",\"copyright\":{\"license\":\"U\"}}]},\"assets\":{\"interactions\":[{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":58.33,\"to\":68.33},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"133bca3d-cfe9-442d-a887-8bf1e2ce682a\",\"question\":\"<p>Why do golf balls have dimples?</p>\\n\",\"answers\":[\"<p>They reduce wind resistance.</p>\\n\",\"<p>They make the ball more visually interesting.</p>\\n\",\"<p>They grip the putting green better than a smooth ball.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"ac029b43-7225-49ed-a2d7-8656037748e0\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Why do golf balls have dimples?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Why do golf balls have dimples?</p>\\n\"},{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":132.969,\"to\":142.969},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"308503f3-8d41-4f4f-b016-587bcce3dfac\",\"question\":\"<p>A smooth ball will have a detached airflow, which causes what?</p>\\n\",\"answers\":[\"<p>A low pressure zone, which is what causes drag.</p>\\n\",\"<p>The ball has no spin.</p>\\n\",\"<p>The ball travels higher, but for a shorter distance.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"f70c849d-9542-4f30-9116-8b60b7da708d\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Smooth Ball?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Smooth Ball</p>\\n\"}],\"endscreens\":[{\"time\":295,\"label\":\"4:55 Submit screen\"}]},\"summary\":{\"task\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"8e2cf84f-4557-4f79-a03e-526838498a7d\",\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"8d5527ef-3601-4ad9-9e63-2782c9775173\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\"}},\"displayAt\":3}},\"override\":{\"autoplay\":false,\"loop\":false,\"showBookmarksmenuOnLoad\":false,\"showRewind10\":false,\"preventSkipping\":false,\"deactivateSound\":false},\"l10n\":{\"interaction\":\"Interaction\",\"play\":\"Play\",\"pause\":\"Pause\",\"mute\":\"Mute\",\"unmute\":\"Unmute\",\"quality\":\"Video Quality\",\"captions\":\"Captions\",\"close\":\"Close\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit Fullscreen\",\"summary\":\"Open summary dialog\",\"bookmarks\":\"Bookmarks\",\"endscreen\":\"Submit screen\",\"defaultAdaptivitySeekLabel\":\"Continue\",\"continueWithVideo\":\"Continue with video\",\"playbackRate\":\"Playback Rate\",\"rewind10\":\"Rewind 10 Seconds\",\"navDisabled\":\"Navigation is disabled\",\"sndDisabled\":\"Sound is disabled\",\"requiresCompletionWarning\":\"You need to answer all the questions correctly before continuing.\",\"back\":\"Back\",\"hours\":\"Hours\",\"minutes\":\"Minutes\",\"seconds\":\"Seconds\",\"currentTime\":\"Current time:\",\"totalTime\":\"Total time:\",\"singleInteractionAnnouncement\":\"Interaction appeared:\",\"multipleInteractionsAnnouncement\":\"Multiple interactions appeared.\",\"videoPausedAnnouncement\":\"Video is paused\",\"content\":\"Content\",\"answered\":\"@answered answered\",\"endcardTitle\":\"@answered Question(s) answered\",\"endcardInformation\":\"You have answered @answered questions, click below to submit your answers.\",\"endcardInformationNoAnswers\":\"You have not answered any questions.\",\"endcardInformationMustHaveAnswer\":\"You have to answer at least one question before you can submit your answers.\",\"endcardSubmitButton\":\"Submit Answers\",\"endcardSubmitMessage\":\"Your answers have been submitted!\",\"endcardTableRowAnswered\":\"Answered questions\",\"endcardTableRowScore\":\"Score\",\"endcardAnsweredScore\":\"answered\",\"endCardTableRowSummaryWithScore\":\"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\"endCardTableRowSummaryWithoutScore\":\"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\"}},\"metadata\":{\"title\":\"Science of Golf: Why Balls Have Dimples\",\"license\":\"U\"}}",
"h5p_content": {
"id": 59,
"user_id": 1,
"title": "Science of Golf: Why Balls Have Dimples",
"library_id": 40,
"parameters": "{\"interactiveVideo\":{\"video\":{\"startScreenOptions\":{\"title\":\"Interactive Video\",\"hideStartTitle\":false},\"textTracks\":{\"videoTrack\":[{\"label\":\"Subtitles\",\"kind\":\"subtitles\",\"srcLang\":\"en\"}]},\"files\":[{\"path\":\"https://youtu.be/fcjaxC-e8oY\",\"mime\":\"video/YouTube\",\"copyright\":{\"license\":\"U\"},\"aspectRatio\":\"16:9\"}]},\"assets\":{\"interactions\":[{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":58.33,\"to\":68.33},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"133bca3d-cfe9-442d-a887-8bf1e2ce682a\",\"question\":\"<p>Why do golf balls have dimples?</p>\\n\",\"answers\":[\"<p>They reduce wind resistance.</p>\\n\",\"<p>They make the ball more visually interesting.</p>\\n\",\"<p>They grip the putting green better than a smooth ball.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"ac029b43-7225-49ed-a2d7-8656037748e0\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Why do golf balls have dimples?\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Why do golf balls have dimples?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Why do golf balls have dimples?</p>\\n\"},{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":132.969,\"to\":142.969},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"308503f3-8d41-4f4f-b016-587bcce3dfac\",\"question\":\"<p>A smooth ball will have a detached airflow, which causes what?</p>\\n\",\"answers\":[\"<p>A low pressure zone, which is what causes drag.</p>\\n\",\"<p>The ball has no spin.</p>\\n\",\"<p>The ball travels higher, but for a shorter distance.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"f70c849d-9542-4f30-9116-8b60b7da708d\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Smooth Ball?\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Smooth Ball?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Smooth Ball</p>\\n\"}],\"bookmarks\":[],\"endscreens\":[{\"time\":295,\"label\":\"4:55 Submit screen\"}]},\"summary\":{\"task\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"8e2cf84f-4557-4f79-a03e-526838498a7d\",\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"8d5527ef-3601-4ad9-9e63-2782c9775173\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Untitled Summary\"}},\"displayAt\":3}},\"override\":{\"autoplay\":false,\"loop\":false,\"showBookmarksmenuOnLoad\":false,\"showRewind10\":false,\"preventSkipping\":false,\"deactivateSound\":false},\"l10n\":{\"interaction\":\"Interaction\",\"play\":\"Play\",\"pause\":\"Pause\",\"mute\":\"Mute\",\"unmute\":\"Unmute\",\"quality\":\"Video Quality\",\"captions\":\"Captions\",\"close\":\"Close\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit Fullscreen\",\"summary\":\"Open summary dialog\",\"bookmarks\":\"Bookmarks\",\"endscreen\":\"Submit screen\",\"defaultAdaptivitySeekLabel\":\"Continue\",\"continueWithVideo\":\"Continue with video\",\"playbackRate\":\"Playback Rate\",\"rewind10\":\"Rewind 10 Seconds\",\"navDisabled\":\"Navigation is disabled\",\"sndDisabled\":\"Sound is disabled\",\"requiresCompletionWarning\":\"You need to answer all the questions correctly before continuing.\",\"back\":\"Back\",\"hours\":\"Hours\",\"minutes\":\"Minutes\",\"seconds\":\"Seconds\",\"currentTime\":\"Current time:\",\"totalTime\":\"Total time:\",\"singleInteractionAnnouncement\":\"Interaction appeared:\",\"multipleInteractionsAnnouncement\":\"Multiple interactions appeared.\",\"videoPausedAnnouncement\":\"Video is paused\",\"content\":\"Content\",\"answered\":\"@answered answered\",\"endcardTitle\":\"@answered Question(s) answered\",\"endcardInformation\":\"You have answered @answered questions, click below to submit your answers.\",\"endcardInformationNoAnswers\":\"You have not answered any questions.\",\"endcardInformationMustHaveAnswer\":\"You have to answer at least one question before you can submit your answers.\",\"endcardSubmitButton\":\"Submit Answers\",\"endcardSubmitMessage\":\"Your answers have been submitted!\",\"endcardTableRowAnswered\":\"Answered questions\",\"endcardTableRowScore\":\"Score\",\"endcardAnsweredScore\":\"answered\",\"endCardTableRowSummaryWithScore\":\"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\"endCardTableRowSummaryWithoutScore\":\"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\"}}",
"filtered": "{\"interactiveVideo\":{\"video\":{\"startScreenOptions\":{\"title\":\"Interactive Video\",\"hideStartTitle\":false},\"textTracks\":{\"videoTrack\":[{\"label\":\"Subtitles\",\"kind\":\"subtitles\",\"srcLang\":\"en\"}]},\"files\":[{\"path\":\"https://youtu.be/fcjaxC-e8oY\",\"mime\":\"video/YouTube\",\"copyright\":{\"license\":\"U\"}}]},\"assets\":{\"interactions\":[{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":58.33,\"to\":68.33},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"133bca3d-cfe9-442d-a887-8bf1e2ce682a\",\"question\":\"<p>Why do golf balls have dimples?</p>\\n\",\"answers\":[\"<p>They reduce wind resistance.</p>\\n\",\"<p>They make the ball more visually interesting.</p>\\n\",\"<p>They grip the putting green better than a smooth ball.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"ac029b43-7225-49ed-a2d7-8656037748e0\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Why do golf balls have dimples?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Why do golf balls have dimples?</p>\\n\"},{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":132.969,\"to\":142.969},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"308503f3-8d41-4f4f-b016-587bcce3dfac\",\"question\":\"<p>A smooth ball will have a detached airflow, which causes what?</p>\\n\",\"answers\":[\"<p>A low pressure zone, which is what causes drag.</p>\\n\",\"<p>The ball has no spin.</p>\\n\",\"<p>The ball travels higher, but for a shorter distance.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"f70c849d-9542-4f30-9116-8b60b7da708d\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Smooth Ball?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Smooth Ball</p>\\n\"}],\"endscreens\":[{\"time\":295,\"label\":\"4:55 Submit screen\"}]},\"summary\":{\"task\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"8e2cf84f-4557-4f79-a03e-526838498a7d\",\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"8d5527ef-3601-4ad9-9e63-2782c9775173\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\"}},\"displayAt\":3}},\"override\":{\"autoplay\":false,\"loop\":false,\"showBookmarksmenuOnLoad\":false,\"showRewind10\":false,\"preventSkipping\":false,\"deactivateSound\":false},\"l10n\":{\"interaction\":\"Interaction\",\"play\":\"Play\",\"pause\":\"Pause\",\"mute\":\"Mute\",\"unmute\":\"Unmute\",\"quality\":\"Video Quality\",\"captions\":\"Captions\",\"close\":\"Close\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit Fullscreen\",\"summary\":\"Open summary dialog\",\"bookmarks\":\"Bookmarks\",\"endscreen\":\"Submit screen\",\"defaultAdaptivitySeekLabel\":\"Continue\",\"continueWithVideo\":\"Continue with video\",\"playbackRate\":\"Playback Rate\",\"rewind10\":\"Rewind 10 Seconds\",\"navDisabled\":\"Navigation is disabled\",\"sndDisabled\":\"Sound is disabled\",\"requiresCompletionWarning\":\"You need to answer all the questions correctly before continuing.\",\"back\":\"Back\",\"hours\":\"Hours\",\"minutes\":\"Minutes\",\"seconds\":\"Seconds\",\"currentTime\":\"Current time:\",\"totalTime\":\"Total time:\",\"singleInteractionAnnouncement\":\"Interaction appeared:\",\"multipleInteractionsAnnouncement\":\"Multiple interactions appeared.\",\"videoPausedAnnouncement\":\"Video is paused\",\"content\":\"Content\",\"answered\":\"@answered answered\",\"endcardTitle\":\"@answered Question(s) answered\",\"endcardInformation\":\"You have answered @answered questions, click below to submit your answers.\",\"endcardInformationNoAnswers\":\"You have not answered any questions.\",\"endcardInformationMustHaveAnswer\":\"You have to answer at least one question before you can submit your answers.\",\"endcardSubmitButton\":\"Submit Answers\",\"endcardSubmitMessage\":\"Your answers have been submitted!\",\"endcardTableRowAnswered\":\"Answered questions\",\"endcardTableRowScore\":\"Score\",\"endcardAnsweredScore\":\"answered\",\"endCardTableRowSummaryWithScore\":\"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\"endCardTableRowSummaryWithoutScore\":\"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\"}}",
"slug": "science-of-golf-why-balls-have-dimples",
"embed_type": "div",
"disable": 9,
"content_type": null,
"authors": null,
"source": null,
"year_from": null,
"year_to": null,
"license": "U",
"license_version": null,
"license_extras": null,
"author_comments": null,
"changes": null,
"default_language": null,
"library": {
"id": 40,
"created_at": null,
"updated_at": null,
"name": "H5P.InteractiveVideo",
"title": "Interactive Video",
"major_version": 1,
"minor_version": 21,
"patch_version": 9,
"runnable": 1,
"restricted": 0,
"fullscreen": 1,
"embed_types": "iframe",
"preloaded_js": "dist/h5p-interactive-video.js",
"preloaded_css": "dist/h5p-interactive-video.css",
"drop_library_css": "",
"semantics": "[\n {\n \"name\": \"interactiveVideo\",\n \"type\": \"group\",\n \"widget\": \"wizard\",\n \"label\": \"Interactive Video Editor\",\n \"importance\": \"high\",\n \"fields\": [\n {\n \"name\": \"video\",\n \"type\": \"group\",\n \"label\": \"Upload/embed video\",\n \"importance\": \"high\",\n \"fields\": [\n {\n \"name\": \"files\",\n \"type\": \"video\",\n \"label\": \"Add a video\",\n \"importance\": \"high\",\n \"description\": \"Click below to add a video you wish to use in your interactive video. You can add a video link or upload video files. It is possible to add several versions of the video with different qualities. To ensure maximum support in browsers at least add a version in webm and mp4 formats.\",\n \"extraAttributes\": [\n \"metadata\"\n ],\n \"enableCustomQualityLabel\": true\n },\n {\n \"name\": \"startScreenOptions\",\n \"type\": \"group\",\n \"label\": \"Start screen options (unsupported for YouTube videos)\",\n \"importance\": \"low\",\n \"fields\": [\n {\n \"name\": \"title\",\n \"type\": \"text\",\n \"label\": \"The title of this interactive video\",\n \"importance\": \"low\",\n \"maxLength\": 60,\n \"default\": \"Interactive Video\",\n \"description\": \"Used in summaries, statistics etc.\"\n },\n {\n \"name\": \"hideStartTitle\",\n \"type\": \"boolean\",\n \"label\": \"Hide title on video start screen\",\n \"importance\": \"low\",\n \"optional\": true,\n \"default\": false\n },\n {\n \"name\": \"shortStartDescription\",\n \"type\": \"text\",\n \"label\": \"Short description (Optional)\",\n \"importance\": \"low\",\n \"optional\": true,\n \"maxLength\": 120,\n \"description\": \"Optional. Display a short description text on the video start screen. Does not work for YouTube videos.\"\n },\n {\n \"name\": \"poster\",\n \"type\": \"image\",\n \"label\": \"Poster image\",\n \"importance\": \"low\",\n \"optional\": true,\n \"description\": \"Image displayed before the user launches the video. Does not work for YouTube Videos.\"\n }\n ]\n },\n {\n \"name\": \"textTracks\",\n \"type\": \"group\",\n \"label\": \"Text tracks (unsupported for YouTube videos)\",\n \"importance\": \"low\",\n \"fields\": [\n {\n \"name\": \"videoTrack\",\n \"type\": \"list\",\n \"label\": \"Available text tracks\",\n \"importance\": \"low\",\n \"optional\": true,\n \"entity\": \"Track\",\n \"min\": 0,\n \"defaultNum\": 1,\n \"field\": {\n \"name\": \"track\",\n \"type\": \"group\",\n \"label\": \"Track\",\n \"importance\": \"low\",\n \"expanded\": false,\n \"fields\": [\n {\n \"name\": \"label\",\n \"type\": \"text\",\n \"label\": \"Track label\",\n \"description\": \"Used if you offer multiple tracks and the user has to choose a track. For instance 'Spanish subtitles' could be the label of a Spanish subtitle track.\",\n \"importance\": \"low\",\n \"default\": \"Subtitles\",\n \"optional\": true\n },\n {\n \"name\": \"kind\",\n \"type\": \"select\",\n \"label\": \"Type of text track\",\n \"importance\": \"low\",\n \"default\": \"subtitles\",\n \"options\": [\n {\n \"value\": \"subtitles\",\n \"label\": \"Subtitles\"\n },\n {\n \"value\": \"captions\",\n \"label\": \"Captions\"\n },\n {\n \"value\": \"descriptions\",\n \"label\": \"Descriptions\"\n }\n ]\n },\n {\n \"name\": \"srcLang\",\n \"type\": \"text\",\n \"label\": \"Source language, must be defined for subtitles\",\n \"importance\": \"low\",\n \"default\": \"en\",\n \"description\": \"Must be a valid BCP 47 language tag. If 'Subtitles' is the type of text track selected, the source language of the track must be defined.\"\n },\n {\n \"name\": \"track\",\n \"type\": \"file\",\n \"label\": \"Track source (WebVTT file)\",\n \"importance\": \"low\"\n }\n ]\n }\n },\n {\n \"name\": \"defaultTrackLabel\",\n \"type\": \"text\",\n \"label\": \"Default text track\",\n \"description\": \"If left empty or not matching any of the text tracks the first text track will be used as the default.\",\n \"importance\": \"low\",\n \"optional\": true\n }\n ]\n }\n ]\n },\n {\n \"name\": \"assets\",\n \"type\": \"group\",\n \"label\": \"Add interactions\",\n \"importance\": \"high\",\n \"widget\": \"interactiveVideo\",\n \"video\": \"video/files\",\n \"poster\": \"video/startScreenOptions/poster\",\n \"fields\": [\n {\n \"name\": \"interactions\",\n \"type\": \"list\",\n \"field\": {\n \"name\": \"interaction\",\n \"type\": \"group\",\n \"fields\": [\n {\n \"name\": \"duration\",\n \"type\": \"group\",\n \"widget\": \"duration\",\n \"label\": \"Display time\",\n \"importance\": \"low\",\n \"fields\": [\n {\n \"name\": \"from\",\n \"type\": \"number\"\n },\n {\n \"name\": \"to\",\n \"type\": \"number\"\n }\n ]\n },\n {\n \"name\": \"pause\",\n \"label\": \"Pause video\",\n \"importance\": \"low\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"displayType\",\n \"label\": \"Display as\",\n \"importance\": \"low\",\n \"description\": \"<b>Button</b> is a collapsed interaction the user must press to open. <b>Poster</b> is an expanded interaction displayed directly on top of the video\",\n \"type\": \"select\",\n \"widget\": \"imageRadioButtonGroup\",\n \"options\": [\n {\n \"value\": \"button\",\n \"label\": \"Button\"\n },\n {\n \"value\": \"poster\",\n \"label\": \"Poster\"\n }\n ],\n \"default\": \"button\"\n },\n {\n \"name\": \"buttonOnMobile\",\n \"label\": \"Turn into button on small screens\",\n \"importance\": \"low\",\n \"type\": \"boolean\",\n \"default\": false\n },\n {\n \"name\": \"label\",\n \"type\": \"text\",\n \"widget\": \"html\",\n \"label\": \"Label\",\n \"importance\": \"low\",\n \"description\": \"Label displayed next to interaction icon.\",\n \"optional\": true,\n \"enterMode\": \"p\",\n \"tags\": [\n \"p\"\n ]\n },\n {\n \"name\": \"x\",\n \"type\": \"number\",\n \"importance\": \"low\",\n \"widget\": \"none\"\n },\n {\n \"name\": \"y\",\n \"type\": \"number\",\n \"importance\": \"low\",\n \"widget\": \"none\"\n },\n {\n \"name\": \"width\",\n \"type\": \"number\",\n \"widget\": \"none\",\n \"importance\": \"low\",\n \"optional\": true\n },\n {\n \"name\": \"height\",\n \"type\": \"number\",\n \"widget\": \"none\",\n \"importance\": \"low\",\n \"optional\": true\n },\n {\n \"name\": \"libraryTitle\",\n \"type\": \"text\",\n \"importance\": \"low\",\n \"optional\": true,\n \"widget\": \"none\"\n },\n {\n \"name\": \"action\",\n \"type\": \"library\",\n \"importance\": \"low\",\n \"options\": [\n \"H5P.Nil 1.0\",\n \"H5P.Text 1.1\",\n \"H5P.Table 1.1\",\n \"H5P.Link 1.3\",\n \"H5P.Image 1.1\",\n \"H5P.Summary 1.10\",\n \"H5P.SingleChoiceSet 1.11\",\n \"H5P.MultiChoice 1.14\",\n \"H5P.TrueFalse 1.6\",\n \"H5P.Blanks 1.12\",\n \"H5P.DragQuestion 1.13\",\n \"H5P.MarkTheWords 1.9\",\n \"H5P.DragText 1.8\",\n \"H5P.GoToQuestion 1.3\",\n \"H5P.IVHotspot 1.2\",\n \"H5P.Questionnaire 1.2\",\n \"H5P.FreeTextQuestion 1.0\"\n ]\n },\n {\n \"name\": \"adaptivity\",\n \"type\": \"group\",\n \"label\": \"Adaptivity\",\n \"importance\": \"low\",\n \"optional\": true,\n \"fields\": [\n {\n \"name\": \"correct\",\n \"type\": \"group\",\n \"label\": \"Action on all correct\",\n \"fields\": [\n {\n \"name\": \"seekTo\",\n \"type\": \"number\",\n \"widget\": \"timecode\",\n \"label\": \"Seek to\",\n \"description\": \"Enter timecode in the format M:SS\"\n },\n {\n \"name\": \"allowOptOut\",\n \"type\": \"boolean\",\n \"label\": \"Allow the user to opt out and continue\"\n },\n {\n \"name\": \"message\",\n \"type\": \"text\",\n \"widget\": \"html\",\n \"enterMode\": \"p\",\n \"tags\": [\n \"strong\",\n \"em\",\n \"del\",\n \"a\",\n \"code\"\n ],\n \"label\": \"Message\"\n },\n {\n \"name\": \"seekLabel\",\n \"type\": \"text\",\n \"label\": \"Label for seek button\"\n }\n ]\n },\n {\n \"name\": \"wrong\",\n \"type\": \"group\",\n \"label\": \"Action on wrong\",\n \"fields\": [\n {\n \"name\": \"seekTo\",\n \"type\": \"number\",\n \"widget\": \"timecode\",\n \"label\": \"Seek to\",\n \"description\": \"Enter timecode in the format M:SS\"\n },\n {\n \"name\": \"allowOptOut\",\n \"type\": \"boolean\",\n \"label\": \"Allow the user to opt out and continue\"\n },\n {\n \"name\": \"message\",\n \"type\": \"text\",\n \"widget\": \"html\",\n \"enterMode\": \"p\",\n \"tags\": [\n \"strong\",\n \"em\",\n \"del\",\n \"a\",\n \"code\"\n ],\n \"label\": \"Message\"\n },\n {\n \"name\": \"seekLabel\",\n \"type\": \"text\",\n \"label\": \"Label for seek button\"\n }\n ]\n },\n {\n \"name\": \"requireCompletion\",\n \"type\": \"boolean\",\n \"label\": \"Require full score for task before proceeding\",\n \"description\": \"For best functionality this option should be used in conjunction with the \\\"Prevent skipping forward in a video\\\" option of Interactive Video.\"\n }\n ]\n },\n {\n \"name\": \"visuals\",\n \"label\": \"Visuals\",\n \"importance\": \"low\",\n \"type\": \"group\",\n \"fields\": [\n {\n \"name\": \"backgroundColor\",\n \"type\": \"text\",\n \"label\": \"Background color\",\n \"widget\": \"colorSelector\",\n \"default\": \"rgb(255, 255, 255)\",\n \"spectrum\": {\n \"showInput\": true,\n \"showAlpha\": true,\n \"preferredFormat\": \"rgb\",\n \"showPalette\": true,\n \"palette\": [\n [\n \"rgba(0, 0, 0, 0)\"\n ],\n [\n \"rgb(67, 67, 67)\",\n \"rgb(102, 102, 102)\",\n \"rgb(204, 204, 204)\",\n \"rgb(217, 217, 217)\",\n \"rgb(255, 255, 255)\"\n ],\n [\n \"rgb(152, 0, 0)\",\n \"rgb(255, 0, 0)\",\n \"rgb(255, 153, 0)\",\n \"rgb(255, 255, 0)\",\n \"rgb(0, 255, 0)\",\n \"rgb(0, 255, 255)\",\n \"rgb(74, 134, 232)\",\n \"rgb(0, 0, 255)\",\n \"rgb(153, 0, 255)\",\n \"rgb(255, 0, 255)\"\n ],\n [\n \"rgb(230, 184, 175)\",\n \"rgb(244, 204, 204)\",\n \"rgb(252, 229, 205)\",\n \"rgb(255, 242, 204)\",\n \"rgb(217, 234, 211)\",\n \"rgb(208, 224, 227)\",\n \"rgb(201, 218, 248)\",\n \"rgb(207, 226, 243)\",\n \"rgb(217, 210, 233)\",\n \"rgb(234, 209, 220)\",\n \"rgb(221, 126, 107)\",\n \"rgb(234, 153, 153)\",\n \"rgb(249, 203, 156)\",\n \"rgb(255, 229, 153)\",\n \"rgb(182, 215, 168)\",\n \"rgb(162, 196, 201)\",\n \"rgb(164, 194, 244)\",\n \"rgb(159, 197, 232)\",\n \"rgb(180, 167, 214)\",\n \"rgb(213, 166, 189)\",\n \"rgb(204, 65, 37)\",\n \"rgb(224, 102, 102)\",\n \"rgb(246, 178, 107)\",\n \"rgb(255, 217, 102)\",\n \"rgb(147, 196, 125)\",\n \"rgb(118, 165, 175)\",\n \"rgb(109, 158, 235)\",\n \"rgb(111, 168, 220)\",\n \"rgb(142, 124, 195)\",\n \"rgb(194, 123, 160)\",\n \"rgb(166, 28, 0)\",\n \"rgb(204, 0, 0)\",\n \"rgb(230, 145, 56)\",\n \"rgb(241, 194, 50)\",\n \"rgb(106, 168, 79)\",\n \"rgb(69, 129, 142)\",\n \"rgb(60, 120, 216)\",\n \"rgb(61, 133, 198)\",\n \"rgb(103, 78, 167)\",\n \"rgb(166, 77, 121)\",\n \"rgb(91, 15, 0)\",\n \"rgb(102, 0, 0)\",\n \"rgb(120, 63, 4)\",\n \"rgb(127, 96, 0)\",\n \"rgb(39, 78, 19)\",\n \"rgb(12, 52, 61)\",\n \"rgb(28, 69, 135)\",\n \"rgb(7, 55, 99)\",\n \"rgb(32, 18, 77)\",\n \"rgb(76, 17, 48)\"\n ]\n ]\n }\n },\n {\n \"name\": \"boxShadow\",\n \"type\": \"boolean\",\n \"label\": \"Box shadow\",\n \"default\": true,\n \"description\": \"Adds a subtle shadow around the interaction. You might want to disable this for completely transparent interactions\"\n }\n ]\n },\n {\n \"name\": \"goto\",\n \"label\": \"Go to on click\",\n \"importance\": \"low\",\n \"type\": \"group\",\n \"fields\": [\n {\n \"name\": \"type\",\n \"label\": \"Type\",\n \"type\": \"select\",\n \"widget\": \"selectToggleFields\",\n \"options\": [\n {\n \"value\": \"timecode\",\n \"label\": \"Timecode\",\n \"hideFields\": [\n \"url\"\n ]\n },\n {\n \"value\": \"url\",\n \"label\": \"Another page (URL)\",\n \"hideFields\": [\n \"time\"\n ]\n }\n ],\n \"optional\": true\n },\n {\n \"name\": \"time\",\n \"type\": \"number\",\n \"widget\": \"timecode\",\n \"label\": \"Go To\",\n \"description\": \"The target time the user will be taken to upon pressing the hotspot. Enter timecode in the format M:SS.\",\n \"optional\": true\n },\n {\n \"name\": \"url\",\n \"type\": \"group\",\n \"label\": \"URL\",\n \"widget\": \"linkWidget\",\n \"optional\": true,\n \"fields\": [\n {\n \"name\": \"protocol\",\n \"type\": \"select\",\n \"label\": \"Protocol\",\n \"options\": [\n {\n \"value\": \"http://\",\n \"label\": \"http://\"\n },\n {\n \"value\": \"https://\",\n \"label\": \"https://\"\n },\n {\n \"value\": \"/\",\n \"label\": \"(root relative)\"\n },\n {\n \"value\": \"other\",\n \"label\": \"other\"\n }\n ],\n \"optional\": true,\n \"default\": \"http://\"\n },\n {\n \"name\": \"url\",\n \"type\": \"text\",\n \"label\": \"URL\",\n \"optional\": true\n }\n ]\n },\n {\n \"name\": \"visualize\",\n \"type\": \"boolean\",\n \"label\": \"Visualize\",\n \"description\": \"Show that interaction can be clicked by adding a border and an icon\"\n }\n ]\n }\n ]\n }\n },\n {\n \"name\": \"bookmarks\",\n \"importance\": \"low\",\n \"type\": \"list\",\n \"field\": {\n \"name\": \"bookmark\",\n \"type\": \"group\",\n \"fields\": [\n {\n \"name\": \"time\",\n \"type\": \"number\"\n },\n {\n \"name\": \"label\",\n \"type\": \"text\"\n }\n ]\n }\n },\n {\n \"name\": \"endscreens\",\n \"importance\": \"low\",\n \"type\": \"list\",\n \"field\": {\n \"name\": \"endscreen\",\n \"type\": \"group\",\n \"fields\": [\n {\n \"name\": \"time\",\n \"type\": \"number\"\n },\n {\n \"name\": \"label\",\n \"type\": \"text\"\n }\n ]\n }\n }\n ]\n },\n {\n \"name\": \"summary\",\n \"type\": \"group\",\n \"label\": \"Summary task\",\n \"importance\": \"high\",\n \"fields\": [\n {\n \"name\": \"task\",\n \"type\": \"library\",\n \"options\": [\n \"H5P.Summary 1.10\"\n ],\n \"default\": {\n \"library\": \"H5P.Summary 1.10\",\n \"params\": {}\n }\n },\n {\n \"name\": \"displayAt\",\n \"type\": \"number\",\n \"label\": \"Display at\",\n \"description\": \"Number of seconds before the video ends.\",\n \"default\": 3\n }\n ]\n }\n ]\n },\n {\n \"name\": \"override\",\n \"type\": \"group\",\n \"label\": \"Behavioural settings\",\n \"importance\": \"low\",\n \"optional\": true,\n \"fields\": [\n {\n \"name\": \"startVideoAt\",\n \"type\": \"number\",\n \"widget\": \"timecode\",\n \"label\": \"Start video at\",\n \"importance\": \"low\",\n \"optional\": true,\n \"description\": \"Enter timecode in the format M:SS\"\n },\n {\n \"name\": \"autoplay\",\n \"type\": \"boolean\",\n \"label\": \"Auto-play video\",\n \"default\": false,\n \"optional\": true,\n \"description\": \"Start playing the video automatically\"\n },\n {\n \"name\": \"loop\",\n \"type\": \"boolean\",\n \"label\": \"Loop the video\",\n \"default\": false,\n \"optional\": true,\n \"description\": \"Check if video should run in a loop\"\n },\n {\n \"name\": \"showSolutionButton\",\n \"type\": \"select\",\n \"label\": \"Override \\\"Show Solution\\\" button\",\n \"importance\": \"low\",\n \"description\": \"This option determines if the \\\"Show Solution\\\" button will be shown for all questions, disabled for all or configured for each question individually.\",\n \"optional\": true,\n \"options\": [\n {\n \"value\": \"on\",\n \"label\": \"Enabled\"\n },\n {\n \"value\": \"off\",\n \"label\": \"Disabled\"\n }\n ]\n },\n {\n \"name\": \"retryButton\",\n \"type\": \"select\",\n \"label\": \"Override \\\"Retry\\\" button\",\n \"importance\": \"low\",\n \"description\": \"This option determines if the \\\"Retry\\\" button will be shown for all questions, disabled for all or configured for each question individually.\",\n \"optional\": true,\n \"options\": [\n {\n \"value\": \"on\",\n \"label\": \"Enabled\"\n },\n {\n \"value\": \"off\",\n \"label\": \"Disabled\"\n }\n ]\n },\n {\n \"name\": \"showBookmarksmenuOnLoad\",\n \"type\": \"boolean\",\n \"label\": \"Start with bookmarks menu open\",\n \"importance\": \"low\",\n \"default\": false,\n \"description\": \"This function is not available on iPad when using YouTube as video source.\"\n },\n {\n \"name\": \"showRewind10\",\n \"type\": \"boolean\",\n \"label\": \"Show button for rewinding 10 seconds\",\n \"importance\": \"low\",\n \"default\": false\n },\n {\n \"name\": \"preventSkipping\",\n \"type\": \"boolean\",\n \"default\": false,\n \"label\": \"Prevent skipping forward in a video\",\n \"importance\": \"low\",\n \"description\": \"Enabling this options will disable user video navigation through default controls.\"\n },\n {\n \"name\": \"deactivateSound\",\n \"type\": \"boolean\",\n \"default\": false,\n \"label\": \"Deactivate sound\",\n \"importance\": \"low\",\n \"description\": \"Enabling this option will deactivate the video's sound and prevent it from being switched on.\"\n }\n ]\n },\n {\n \"name\": \"l10n\",\n \"type\": \"group\",\n \"label\": \"Localize\",\n \"importance\": \"low\",\n \"common\": true,\n \"optional\": true,\n \"fields\": [\n {\n \"name\": \"interaction\",\n \"type\": \"text\",\n \"label\": \"Interaction title\",\n \"importance\": \"low\",\n \"default\": \"Interaction\",\n \"optional\": true\n },\n {\n \"name\": \"play\",\n \"type\": \"text\",\n \"label\": \"Play title\",\n \"importance\": \"low\",\n \"default\": \"Play\",\n \"optional\": true\n },\n {\n \"name\": \"pause\",\n \"type\": \"text\",\n \"label\": \"Pause title\",\n \"importance\": \"low\",\n \"default\": \"Pause\",\n \"optional\": true\n },\n {\n \"name\": \"mute\",\n \"type\": \"text\",\n \"label\": \"Mute title\",\n \"importance\": \"low\",\n \"default\": \"Mute\",\n \"optional\": true\n },\n {\n \"name\": \"unmute\",\n \"type\": \"text\",\n \"label\": \"Unmute title\",\n \"importance\": \"low\",\n \"default\": \"Unmute\",\n \"optional\": true\n },\n {\n \"name\": \"quality\",\n \"type\": \"text\",\n \"label\": \"Video quality title\",\n \"importance\": \"low\",\n \"default\": \"Video Quality\",\n \"optional\": true\n },\n {\n \"name\": \"captions\",\n \"type\": \"text\",\n \"label\": \"Video captions title\",\n \"importance\": \"low\",\n \"default\": \"Captions\",\n \"optional\": true\n },\n {\n \"name\": \"close\",\n \"type\": \"text\",\n \"label\": \"Close button text\",\n \"importance\": \"low\",\n \"default\": \"Close\",\n \"optional\": true\n },\n {\n \"name\": \"fullscreen\",\n \"type\": \"text\",\n \"label\": \"Fullscreen title\",\n \"importance\": \"low\",\n \"default\": \"Fullscreen\",\n \"optional\": true\n },\n {\n \"name\": \"exitFullscreen\",\n \"type\": \"text\",\n \"label\": \"Exit fullscreen title\",\n \"importance\": \"low\",\n \"default\": \"Exit Fullscreen\",\n \"optional\": true\n },\n {\n \"name\": \"summary\",\n \"type\": \"text\",\n \"label\": \"Summary title\",\n \"importance\": \"low\",\n \"default\": \"Open summary dialog\",\n \"optional\": true\n },\n {\n \"name\": \"bookmarks\",\n \"type\": \"text\",\n \"label\": \"Bookmarks title\",\n \"importance\": \"low\",\n \"default\": \"Bookmarks\",\n \"optional\": true\n },\n {\n \"name\": \"endscreen\",\n \"type\": \"text\",\n \"label\": \"Submit screen title\",\n \"importance\": \"low\",\n \"default\": \"Submit screen\",\n \"optional\": true\n },\n {\n \"name\": \"defaultAdaptivitySeekLabel\",\n \"type\": \"text\",\n \"label\": \"Default label for adaptivity seek button\",\n \"importance\": \"low\",\n \"default\": \"Continue\",\n \"optional\": true\n },\n {\n \"name\": \"continueWithVideo\",\n \"type\": \"text\",\n \"label\": \"Default label for continue video button\",\n \"importance\": \"low\",\n \"default\": \"Continue with video\",\n \"optional\": true\n },\n {\n \"name\": \"playbackRate\",\n \"type\": \"text\",\n \"label\": \"Set playback rate\",\n \"importance\": \"low\",\n \"default\": \"Playback Rate\",\n \"optional\": true\n },\n {\n \"name\": \"rewind10\",\n \"type\": \"text\",\n \"label\": \"Rewind 10 Seconds\",\n \"importance\": \"low\",\n \"default\": \"Rewind 10 Seconds\",\n \"optional\": true\n },\n {\n \"name\": \"navDisabled\",\n \"type\": \"text\",\n \"label\": \"Navigation is disabled text\",\n \"importance\": \"low\",\n \"default\": \"Navigation is disabled\",\n \"optional\": true\n },\n {\n \"name\": \"sndDisabled\",\n \"type\": \"text\",\n \"label\": \"Sound is disabled text\",\n \"importance\": \"low\",\n \"default\": \"Sound is disabled\",\n \"optional\": true\n },\n {\n \"name\": \"requiresCompletionWarning\",\n \"type\": \"text\",\n \"label\": \"Warning that the user must answer the question correctly before continuing\",\n \"importance\": \"low\",\n \"default\": \"You need to answer all the questions correctly before continuing.\",\n \"optional\": true\n },\n {\n \"name\": \"back\",\n \"type\": \"text\",\n \"label\": \"Back button\",\n \"importance\": \"low\",\n \"default\": \"Back\",\n \"optional\": true\n },\n {\n \"name\": \"hours\",\n \"type\": \"text\",\n \"label\": \"Passed time hours\",\n \"importance\": \"low\",\n \"default\": \"Hours\",\n \"optional\": true\n },\n {\n \"name\": \"minutes\",\n \"type\": \"text\",\n \"label\": \"Passed time minutes\",\n \"importance\": \"low\",\n \"default\": \"Minutes\",\n \"optional\": true\n },\n {\n \"name\": \"seconds\",\n \"type\": \"text\",\n \"label\": \"Passed time seconds\",\n \"importance\": \"low\",\n \"default\": \"Seconds\",\n \"optional\": true\n },\n {\n \"name\": \"currentTime\",\n \"type\": \"text\",\n \"label\": \"Label for current time\",\n \"importance\": \"low\",\n \"default\": \"Current time:\",\n \"optional\": true\n },\n {\n \"name\": \"totalTime\",\n \"type\": \"text\",\n \"label\": \"Label for total time\",\n \"importance\": \"low\",\n \"default\": \"Total time:\",\n \"optional\": true\n },\n {\n \"name\": \"singleInteractionAnnouncement\",\n \"type\": \"text\",\n \"label\": \"Text explaining that a single interaction with a name has come into view\",\n \"importance\": \"low\",\n \"default\": \"Interaction appeared:\",\n \"optional\": true\n },\n {\n \"name\": \"multipleInteractionsAnnouncement\",\n \"type\": \"text\",\n \"label\": \"Text for explaining that multiple interactions have come into view\",\n \"importance\": \"low\",\n \"default\": \"Multiple interactions appeared.\",\n \"optional\": true\n },\n {\n \"name\": \"videoPausedAnnouncement\",\n \"type\": \"text\",\n \"label\": \"Video is paused announcement\",\n \"importance\": \"low\",\n \"default\": \"Video is paused\",\n \"optional\": true\n },\n {\n \"name\": \"content\",\n \"type\": \"text\",\n \"label\": \"Content label\",\n \"importance\": \"low\",\n \"default\": \"Content\",\n \"optional\": true\n },\n {\n \"name\": \"answered\",\n \"type\": \"text\",\n \"label\": \"Answered message (@answered will be replaced with the number of answered questions)\",\n \"importance\": \"low\",\n \"default\": \"@answered answered\",\n \"optional\": true\n },\n {\n \"name\": \"endcardTitle\",\n \"type\": \"text\",\n \"label\": \"Submit screen title\",\n \"importance\": \"low\",\n \"default\": \"@answered Question(s) answered\",\n \"description\": \"@answered will be replaced by the number of answered questions.\",\n \"optional\": true\n },\n {\n \"name\": \"endcardInformation\",\n \"type\": \"text\",\n \"label\": \"Submit screen information\",\n \"importance\": \"low\",\n \"default\": \"You have answered @answered questions, click below to submit your answers.\",\n \"description\": \"@answered will be replaced by the number of answered questions.\",\n \"optional\": true\n },\n {\n \"name\": \"endcardInformationNoAnswers\",\n \"type\": \"text\",\n \"label\": \"Submit screen information for missing answers\",\n \"importance\": \"low\",\n \"default\": \"You have not answered any questions.\",\n \"optional\": true\n },\n {\n \"name\": \"endcardInformationMustHaveAnswer\",\n \"type\": \"text\",\n \"label\": \"Submit screen information for answer needed\",\n \"importance\": \"low\",\n \"default\": \"You have to answer at least one question before you can submit your answers.\",\n \"optional\": true\n },\n {\n \"name\": \"endcardSubmitButton\",\n \"type\": \"text\",\n \"label\": \"Submit screen submit button\",\n \"importance\": \"low\",\n \"default\": \"Submit Answers\",\n \"optional\": true\n },\n {\n \"name\": \"endcardSubmitMessage\",\n \"type\": \"text\",\n \"label\": \"Submit screen submit message\",\n \"importance\": \"low\",\n \"default\": \"Your answers have been submitted!\",\n \"optional\": true\n },\n {\n \"name\": \"endcardTableRowAnswered\",\n \"type\": \"text\",\n \"label\": \"Submit screen table row title: Answered questions\",\n \"importance\": \"low\",\n \"default\": \"Answered questions\",\n \"optional\": true\n },\n {\n \"name\": \"endcardTableRowScore\",\n \"type\": \"text\",\n \"label\": \"Submit screen table row title: Score\",\n \"importance\": \"low\",\n \"default\": \"Score\",\n \"optional\": true\n },\n {\n \"name\": \"endcardAnsweredScore\",\n \"type\": \"text\",\n \"label\": \"Submit screen answered score\",\n \"importance\": \"low\",\n \"default\": \"answered\",\n \"optional\": true\n },\n {\n \"name\": \"endCardTableRowSummaryWithScore\",\n \"type\": \"text\",\n \"label\": \"Submit screen row summary including score (for readspeakers)\",\n \"importance\": \"low\",\n \"default\": \"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\n \"optional\": true\n },\n {\n \"name\": \"endCardTableRowSummaryWithoutScore\",\n \"type\": \"text\",\n \"label\": \"Submit screen row summary for no score (for readspeakers)\",\n \"importance\": \"low\",\n \"default\": \"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\",\n \"optional\": true\n }\n ]\n }\n]",
"tutorial_url": "",
"has_icon": 1
},
"created_at": "2020-09-30T20:24:58.000000Z",
"updated_at": "2020-09-30T20:24:58.000000Z"
},
"library_name": "H5P.InteractiveVideo",
"major_version": 1,
"minor_version": 21,
"user_name": null,
"user_id": null,
"created_at": "2020-09-30T20:24:58.000000Z",
"updated_at": "2020-09-30T20:24:58.000000Z"
}
}
Received response:
Request failed with error:
H5P Activity
Get H5P Activity
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/suborganizations/1/stand-alone-activity/761/h5p" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/suborganizations/1/stand-alone-activity/761/h5p"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/suborganizations/1/stand-alone-activity/761/h5p',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"activity": {
"id": 1,
"title": "Science of Golf: Why Balls Have Dimples",
"type": "h5p",
"content": "",
"shared": false,
"order": 2,
"thumb_url": null,
"subject_id": null,
"education_level_id": null,
"h5p": {
"settings": {
"baseUrl": "https://www.currikistudio.org/api",
"url": "https://www.currikistudio.org/api/storage/h5p",
"postUserStatistics": true,
"ajax": {
"setFinished": "https://www.currikistudio.org/api/api/h5p/ajax/url",
"contentUserData": "https://www.currikistudio.org/api/api/h5p/ajax/content-user-data/?content_id=:contentId&data_type=:dataType&sub_content_id=:subContentId"
},
"saveFreq": false,
"siteUrl": "https://www.currikistudio.org/api",
"l10n": {
"H5P": {
"fullscreen": "Fullscreen",
"disableFullscreen": "Disable fullscreen",
"download": "Download",
"copyrights": "Rights of use",
"embed": "Embed",
"reuseDescription": "Reuse this content.",
"size": "Size",
"showAdvanced": "Show advanced",
"hideAdvanced": "Hide advanced",
"advancedHelp": "Include this script on your website if you want dynamic sizing of the embedded content:",
"copyrightInformation": "Rights of use",
"close": "Close",
"title": "Title",
"author": "Author",
"year": "Year",
"source": "Source",
"license": "License",
"thumbnail": "Thumbnail",
"noCopyrights": "No copyright information available for this content.",
"downloadDescription": "Download this content as a H5P file.",
"copyrightsDescription": "View copyright information for this content.",
"embedDescription": "View the embed code for this content.",
"h5pDescription": "Visit H5P.org to check out more cool content.",
"contentChanged": "This content has changed since you last used it.",
"startingOver": "You'll be starting over.",
"confirmDialogHeader": "Confirm action",
"confirmDialogBody": "Please confirm that you wish to proceed. This action is not reversible.",
"cancelLabel": "Cancel",
"confirmLabel": "Confirm",
"reuse": "Reuse",
"reuseContent": "Reuse Content"
}
},
"hubIsEnabled": false,
"user": {
"name": "John Doe",
"email": "john.doe@currikistudio.org"
},
"editor": {
"filesPath": "https://www.currikistudio.org/api/storage/h5p/editor",
"fileIcon": {
"path": "https://www.currikistudio.org/api/storage/h5p/h5p-editor/images/binary-file.png",
"width": 50,
"height": 50
},
"ajaxPath": "https://www.currikistudio.org/api/api/v1/h5p/ajax/",
"libraryUrl": "https://www.currikistudio.org/api/storage/h5p/h5p-editor/",
"copyrightSemantics": {
"name": "copyright",
"type": "group",
"label": "Copyright information",
"fields": [
{
"name": "title",
"type": "text",
"label": "Title",
"placeholder": "La Gioconda",
"optional": true
},
{
"name": "author",
"type": "text",
"label": "Author",
"placeholder": "Leonardo da Vinci",
"optional": true
},
{
"name": "year",
"type": "text",
"label": "Year(s)",
"placeholder": "1503 - 1517",
"optional": true
},
{
"name": "source",
"type": "text",
"label": "Source",
"placeholder": "http://en.wikipedia.org/wiki/Mona_Lisa",
"optional": true,
"regexp": {
"pattern": "^http[s]?://.+",
"modifiers": "i"
}
},
{
"name": "license",
"type": "select",
"label": "License",
"default": "U",
"options": [
{
"value": "U",
"label": "Undisclosed"
},
{
"value": "CC BY",
"label": "Attribution",
"versions": [
{
"value": "4.0",
"label": "4.0 International"
},
{
"value": "3.0",
"label": "3.0 Unported"
},
{
"value": "2.5",
"label": "2.5 Generic"
},
{
"value": "2.0",
"label": "2.0 Generic"
},
{
"value": "1.0",
"label": "1.0 Generic"
}
]
},
{
"value": "CC BY-SA",
"label": "Attribution-ShareAlike",
"versions": [
{
"value": "4.0",
"label": "4.0 International"
},
{
"value": "3.0",
"label": "3.0 Unported"
},
{
"value": "2.5",
"label": "2.5 Generic"
},
{
"value": "2.0",
"label": "2.0 Generic"
},
{
"value": "1.0",
"label": "1.0 Generic"
}
]
},
{
"value": "CC BY-ND",
"label": "Attribution-NoDerivs",
"versions": [
{
"value": "4.0",
"label": "4.0 International"
},
{
"value": "3.0",
"label": "3.0 Unported"
},
{
"value": "2.5",
"label": "2.5 Generic"
},
{
"value": "2.0",
"label": "2.0 Generic"
},
{
"value": "1.0",
"label": "1.0 Generic"
}
]
},
{
"value": "CC BY-NC",
"label": "Attribution-NonCommercial",
"versions": [
{
"value": "4.0",
"label": "4.0 International"
},
{
"value": "3.0",
"label": "3.0 Unported"
},
{
"value": "2.5",
"label": "2.5 Generic"
},
{
"value": "2.0",
"label": "2.0 Generic"
},
{
"value": "1.0",
"label": "1.0 Generic"
}
]
},
{
"value": "CC BY-NC-SA",
"label": "Attribution-NonCommercial-ShareAlike",
"versions": [
{
"value": "4.0",
"label": "4.0 International"
},
{
"value": "3.0",
"label": "3.0 Unported"
},
{
"value": "2.5",
"label": "2.5 Generic"
},
{
"value": "2.0",
"label": "2.0 Generic"
},
{
"value": "1.0",
"label": "1.0 Generic"
}
]
},
{
"value": "CC BY-NC-ND",
"label": "Attribution-NonCommercial-NoDerivs",
"versions": [
{
"value": "4.0",
"label": "4.0 International"
},
{
"value": "3.0",
"label": "3.0 Unported"
},
{
"value": "2.5",
"label": "2.5 Generic"
},
{
"value": "2.0",
"label": "2.0 Generic"
},
{
"value": "1.0",
"label": "1.0 Generic"
}
]
},
{
"value": "GNU GPL",
"label": "General Public License",
"versions": [
{
"value": "v3",
"label": "Version 3"
},
{
"value": "v2",
"label": "Version 2"
},
{
"value": "v1",
"label": "Version 1"
}
]
},
{
"value": "PD",
"label": "Public Domain",
"versions": [
{
"value": "-",
"label": "-"
},
{
"value": "CC0 1.0",
"label": "CC0 1.0 Universal"
},
{
"value": "CC PDM",
"label": "Public Domain Mark"
}
]
},
{
"value": "C",
"label": "Copyright"
}
]
},
{
"name": "version",
"type": "select",
"label": "License Version",
"options": []
}
]
},
"metadataSemantics": [
{
"name": "title",
"type": "text",
"label": "Title",
"placeholder": "La Gioconda"
},
{
"name": "license",
"type": "select",
"label": "License",
"default": "U",
"options": [
{
"value": "U",
"label": "Undisclosed"
},
{
"type": "optgroup",
"label": "Creative Commons",
"options": [
{
"value": "CC BY",
"label": "Attribution (CC BY)",
"versions": [
{
"value": "4.0",
"label": "4.0 International"
},
{
"value": "3.0",
"label": "3.0 Unported"
},
{
"value": "2.5",
"label": "2.5 Generic"
},
{
"value": "2.0",
"label": "2.0 Generic"
},
{
"value": "1.0",
"label": "1.0 Generic"
}
]
},
{
"value": "CC BY-SA",
"label": "Attribution-ShareAlike (CC BY-SA)",
"versions": [
{
"value": "4.0",
"label": "4.0 International"
},
{
"value": "3.0",
"label": "3.0 Unported"
},
{
"value": "2.5",
"label": "2.5 Generic"
},
{
"value": "2.0",
"label": "2.0 Generic"
},
{
"value": "1.0",
"label": "1.0 Generic"
}
]
},
{
"value": "CC BY-ND",
"label": "Attribution-NoDerivs (CC BY-ND)",
"versions": [
{
"value": "4.0",
"label": "4.0 International"
},
{
"value": "3.0",
"label": "3.0 Unported"
},
{
"value": "2.5",
"label": "2.5 Generic"
},
{
"value": "2.0",
"label": "2.0 Generic"
},
{
"value": "1.0",
"label": "1.0 Generic"
}
]
},
{
"value": "CC BY-NC",
"label": "Attribution-NonCommercial (CC BY-NC)",
"versions": [
{
"value": "4.0",
"label": "4.0 International"
},
{
"value": "3.0",
"label": "3.0 Unported"
},
{
"value": "2.5",
"label": "2.5 Generic"
},
{
"value": "2.0",
"label": "2.0 Generic"
},
{
"value": "1.0",
"label": "1.0 Generic"
}
]
},
{
"value": "CC BY-NC-SA",
"label": "Attribution-NonCommercial-ShareAlike (CC BY-NC-SA)",
"versions": [
{
"value": "4.0",
"label": "4.0 International"
},
{
"value": "3.0",
"label": "3.0 Unported"
},
{
"value": "2.5",
"label": "2.5 Generic"
},
{
"value": "2.0",
"label": "2.0 Generic"
},
{
"value": "1.0",
"label": "1.0 Generic"
}
]
},
{
"value": "CC BY-NC-ND",
"label": "Attribution-NonCommercial-NoDerivs (CC BY-NC-ND)",
"versions": [
{
"value": "4.0",
"label": "4.0 International"
},
{
"value": "3.0",
"label": "3.0 Unported"
},
{
"value": "2.5",
"label": "2.5 Generic"
},
{
"value": "2.0",
"label": "2.0 Generic"
},
{
"value": "1.0",
"label": "1.0 Generic"
}
]
},
{
"value": "CC0 1.0",
"label": "Public Domain Dedication (CC0)"
},
{
"value": "CC PDM",
"label": "Public Domain Mark (PDM)"
}
]
},
{
"value": "GNU GPL",
"label": "General Public License v3"
},
{
"value": "PD",
"label": "Public Domain"
},
{
"value": "ODC PDDL",
"label": "Public Domain Dedication and Licence"
},
{
"value": "C",
"label": "Copyright"
}
]
},
{
"name": "licenseVersion",
"type": "select",
"label": "License Version",
"options": [
{
"value": "4.0",
"label": "4.0 International"
},
{
"value": "3.0",
"label": "3.0 Unported"
},
{
"value": "2.5",
"label": "2.5 Generic"
},
{
"value": "2.0",
"label": "2.0 Generic"
},
{
"value": "1.0",
"label": "1.0 Generic"
}
],
"optional": true
},
{
"name": "yearFrom",
"type": "number",
"label": "Years (from)",
"placeholder": "1991",
"min": "-9999",
"max": "9999",
"optional": true
},
{
"name": "yearTo",
"type": "number",
"label": "Years (to)",
"placeholder": "1992",
"min": "-9999",
"max": "9999",
"optional": true
},
{
"name": "source",
"type": "text",
"label": "Source",
"placeholder": "https://",
"optional": true
},
{
"name": "authors",
"type": "list",
"field": {
"name": "author",
"type": "group",
"fields": [
{
"label": "Author's name",
"name": "name",
"optional": true,
"type": "text"
},
{
"name": "role",
"type": "select",
"label": "Author's role",
"default": "Author",
"options": [
{
"value": "Author",
"label": "Author"
},
{
"value": "Editor",
"label": "Editor"
},
{
"value": "Licensee",
"label": "Licensee"
},
{
"value": "Originator",
"label": "Originator"
}
]
}
]
}
},
{
"name": "licenseExtras",
"type": "text",
"widget": "textarea",
"label": "License Extras",
"optional": true,
"description": "Any additional information about the license"
},
{
"name": "changes",
"type": "list",
"field": {
"name": "change",
"type": "group",
"label": "Changelog",
"fields": [
{
"name": "date",
"type": "text",
"label": "Date",
"optional": true
},
{
"name": "author",
"type": "text",
"label": "Changed by",
"optional": true
},
{
"name": "log",
"type": "text",
"widget": "textarea",
"label": "Description of change",
"placeholder": "Photo cropped, text changed, etc.",
"optional": true
}
]
}
},
{
"name": "authorComments",
"type": "text",
"widget": "textarea",
"label": "Author comments",
"description": "Comments for the editor of the content (This text will not be published as a part of copyright info)",
"optional": true
},
{
"name": "contentType",
"type": "text",
"widget": "none"
},
{
"name": "defaultLanguage",
"type": "text",
"widget": "none"
}
],
"assets": {
"css": [
"https://www.currikistudio.org/api/storage/h5p/laravel-h5p/css/laravel-h5p.css",
"https://www.currikistudio.org/api/storage/h5p/h5p-core/styles/h5p.css",
"https://www.currikistudio.org/api/storage/h5p/h5p-core/styles/h5p-confirmation-dialog.css",
"https://www.currikistudio.org/api/storage/h5p/h5p-core/styles/h5p-core-button.css",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/libs/darkroom.css",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/styles/css/h5p-hub-client.css",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/styles/css/fonts.css",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/styles/css/application.css",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/styles/css/libs/zebra_datepicker.min.css"
],
"js": [
"https://www.currikistudio.org/api/storage/h5p/h5p-core/js/jquery.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-core/js/h5p.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-core/js/h5p-event-dispatcher.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-core/js/h5p-x-api-event.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-core/js/h5p-x-api.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-core/js/h5p-content-type.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-core/js/h5p-confirmation-dialog.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-core/js/h5p-action-bar.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-core/js/request-queue.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-editor.js",
"https://www.currikistudio.org/api/storage/h5p/laravel-h5p/js/laravel-h5p.js",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-help-dialog.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-message-dialog.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-progress-circle.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-simple-rounded-button.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-speech-bubble.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-throbber.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-tip.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-slider.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-score-bar.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-progressbar.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-ui.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/laravel-h5p/js/laravel-h5p-editor.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5p-hub-client.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-semantic-structure.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-library-selector.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-fullscreen-bar.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-form.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-text.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-html.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-number.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-textarea.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-file-uploader.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-file.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-image.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-image-popup.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-av.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-group.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-boolean.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-list.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-list-editor.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-library.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-library-list-cache.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-select.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-selector-hub.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-selector-legacy.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-dimensions.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-coordinates.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-none.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-metadata.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-metadata-author-widget.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-metadata-changelog-widget.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-pre-save.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/ckeditor/ckeditor.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/language/en.js"
]
},
"deleteMessage": "laravel-h5p.content.destoryed",
"apiVersion": {
"majorVersion": 1,
"minorVersion": 24
}
},
"loadedJs": [],
"loadedCss": [],
"core": {
"styles": [
"https://www.currikistudio.org/api/storage/h5p/laravel-h5p/css/laravel-h5p.css",
"https://www.currikistudio.org/api/storage/h5p/h5p-core/styles/h5p.css",
"https://www.currikistudio.org/api/storage/h5p/h5p-core/styles/h5p-confirmation-dialog.css",
"https://www.currikistudio.org/api/storage/h5p/h5p-core/styles/h5p-core-button.css"
],
"scripts": [
"https://www.currikistudio.org/api/storage/h5p/h5p-core/js/jquery.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-core/js/h5p.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-core/js/h5p-event-dispatcher.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-core/js/h5p-x-api-event.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-core/js/h5p-x-api.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-core/js/h5p-content-type.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-core/js/h5p-confirmation-dialog.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-core/js/h5p-action-bar.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-core/js/request-queue.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-editor.js",
"https://www.currikistudio.org/api/storage/h5p/laravel-h5p/js/laravel-h5p.js",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-help-dialog.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-message-dialog.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-progress-circle.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-simple-rounded-button.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-speech-bubble.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-throbber.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-tip.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-slider.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-score-bar.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-progressbar.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-ui.js?ver=1.3.9"
]
},
"contents": {
"cid-59": {
"library": "H5P.InteractiveVideo 1.21",
"jsonContent": "{\"interactiveVideo\":{\"video\":{\"startScreenOptions\":{\"title\":\"Interactive Video\",\"hideStartTitle\":false},\"textTracks\":{\"videoTrack\":[{\"label\":\"Subtitles\",\"kind\":\"subtitles\",\"srcLang\":\"en\"}]},\"files\":[{\"path\":\"https://youtu.be/fcjaxC-e8oY\",\"mime\":\"video/YouTube\",\"copyright\":{\"license\":\"U\"}}]},\"assets\":{\"interactions\":[{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":58.33,\"to\":68.33},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"133bca3d-cfe9-442d-a887-8bf1e2ce682a\",\"question\":\"<p>Why do golf balls have dimples?</p>\\n\",\"answers\":[\"<p>They reduce wind resistance.</p>\\n\",\"<p>They make the ball more visually interesting.</p>\\n\",\"<p>They grip the putting green better than a smooth ball.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"ac029b43-7225-49ed-a2d7-8656037748e0\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Why do golf balls have dimples?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Why do golf balls have dimples?</p>\\n\"},{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":132.969,\"to\":142.969},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"308503f3-8d41-4f4f-b016-587bcce3dfac\",\"question\":\"<p>A smooth ball will have a detached airflow, which causes what?</p>\\n\",\"answers\":[\"<p>A low pressure zone, which is what causes drag.</p>\\n\",\"<p>The ball has no spin.</p>\\n\",\"<p>The ball travels higher, but for a shorter distance.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"f70c849d-9542-4f30-9116-8b60b7da708d\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Smooth Ball?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Smooth Ball</p>\\n\"}],\"endscreens\":[{\"time\":295,\"label\":\"4:55 Submit screen\"}]},\"summary\":{\"task\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"8e2cf84f-4557-4f79-a03e-526838498a7d\",\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"8d5527ef-3601-4ad9-9e63-2782c9775173\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\"}},\"displayAt\":3}},\"override\":{\"autoplay\":false,\"loop\":false,\"showBookmarksmenuOnLoad\":false,\"showRewind10\":false,\"preventSkipping\":false,\"deactivateSound\":false},\"l10n\":{\"interaction\":\"Interaction\",\"play\":\"Play\",\"pause\":\"Pause\",\"mute\":\"Mute\",\"unmute\":\"Unmute\",\"quality\":\"Video Quality\",\"captions\":\"Captions\",\"close\":\"Close\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit Fullscreen\",\"summary\":\"Open summary dialog\",\"bookmarks\":\"Bookmarks\",\"endscreen\":\"Submit screen\",\"defaultAdaptivitySeekLabel\":\"Continue\",\"continueWithVideo\":\"Continue with video\",\"playbackRate\":\"Playback Rate\",\"rewind10\":\"Rewind 10 Seconds\",\"navDisabled\":\"Navigation is disabled\",\"sndDisabled\":\"Sound is disabled\",\"requiresCompletionWarning\":\"You need to answer all the questions correctly before continuing.\",\"back\":\"Back\",\"hours\":\"Hours\",\"minutes\":\"Minutes\",\"seconds\":\"Seconds\",\"currentTime\":\"Current time:\",\"totalTime\":\"Total time:\",\"singleInteractionAnnouncement\":\"Interaction appeared:\",\"multipleInteractionsAnnouncement\":\"Multiple interactions appeared.\",\"videoPausedAnnouncement\":\"Video is paused\",\"content\":\"Content\",\"answered\":\"@answered answered\",\"endcardTitle\":\"@answered Question(s) answered\",\"endcardInformation\":\"You have answered @answered questions, click below to submit your answers.\",\"endcardInformationNoAnswers\":\"You have not answered any questions.\",\"endcardInformationMustHaveAnswer\":\"You have to answer at least one question before you can submit your answers.\",\"endcardSubmitButton\":\"Submit Answers\",\"endcardSubmitMessage\":\"Your answers have been submitted!\",\"endcardTableRowAnswered\":\"Answered questions\",\"endcardTableRowScore\":\"Score\",\"endcardAnsweredScore\":\"answered\",\"endCardTableRowSummaryWithScore\":\"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\"endCardTableRowSummaryWithoutScore\":\"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\"}}",
"fullScreen": 1,
"exportUrl": "https://www.currikistudio.org/api/h5p/export/59",
"embedCode": "<iframe src=\"https://www.currikistudio.org/h5p/embed/59\" width=\":w\" height=\":h\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"></iframe>",
"resizeCode": "<script src=\"https://www.currikistudio.org/api/storage/h5p/h5p-core/js/h5p-resizer.js\" charset=\"UTF-8\"></script>",
"url": "https://www.currikistudio.org/api/h5p/embed/59",
"title": "Science of Golf: Why Balls Have Dimples",
"displayOptions": {
"frame": true,
"export": true,
"embed": true,
"copyright": false,
"icon": true,
"copy": false
},
"contentUserData": [
{
"state": "{}"
}
],
"scripts": [
"https://www.currikistudio.org/api/storage/h5p/libraries/Drop-1.0/js/drop.min.js?ver=1.0.2",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.Transition-1.0/transition.js?ver=1.0.4",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-help-dialog.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-message-dialog.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-progress-circle.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-simple-rounded-button.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-speech-bubble.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-throbber.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-tip.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-slider.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-score-bar.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-progressbar.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-ui.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.Question-1.4/scripts/question.js?ver=1.4.7",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.Question-1.4/scripts/explainer.js?ver=1.4.7",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.Question-1.4/scripts/score-points.js?ver=1.4.7",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.SoundJS-1.0/soundjs-0.6.2.min.js?ver=1.0.2",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.SingleChoiceSet-1.11/scripts/stop-watch.js?ver=1.11.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.SingleChoiceSet-1.11/scripts/sound-effects.js?ver=1.11.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.SingleChoiceSet-1.11/scripts/xapi-event-builder.js?ver=1.11.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.SingleChoiceSet-1.11/scripts/result-slide.js?ver=1.11.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.SingleChoiceSet-1.11/scripts/solution-view.js?ver=1.11.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.SingleChoiceSet-1.11/scripts/single-choice-alternative.js?ver=1.11.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.SingleChoiceSet-1.11/scripts/single-choice.js?ver=1.11.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.SingleChoiceSet-1.11/scripts/single-choice-set.js?ver=1.11.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.Summary-1.10/js/stop-watch.js?ver=1.10.8",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.Summary-1.10/js/xapi-event-builder.js?ver=1.10.8",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.Summary-1.10/js/summary.js?ver=1.10.8",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.DragNDrop-1.1/drag-n-drop.js?ver=1.1.5",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.DragNResize-1.2/H5P.DragNResize.js?ver=1.2.6",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.DragNBar-1.5/scripts/drag-n-bar.js?ver=1.5.10",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.DragNBar-1.5/scripts/context-menu.js?ver=1.5.10",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.DragNBar-1.5/scripts/dialog.js?ver=1.5.10",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.DragNBar-1.5/scripts/drag-n-bar-element.js?ver=1.5.10",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.DragNBar-1.5/scripts/drag-n-bar-form-manager.js?ver=1.5.10",
"https://www.currikistudio.org/api/storage/h5p/libraries/flowplayer-1.0/scripts/flowplayer-3.2.12.min.js?ver=1.0.5",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.Video-1.5/scripts/youtube.js?ver=1.5.12",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.Video-1.5/scripts/panopto.js?ver=1.5.12",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.Video-1.5/scripts/html5.js?ver=1.5.12",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.Video-1.5/scripts/flash.js?ver=1.5.12",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.Video-1.5/scripts/video.js?ver=1.5.12",
"https://www.currikistudio.org/api/storage/h5p/libraries/jQuery.ui-1.10/h5p-jquery-ui.js?ver=1.10.19",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.InteractiveVideo-1.21/dist/h5p-interactive-video.js?ver=1.21.9"
],
"styles": [
"https://www.currikistudio.org/api/storage/h5p/libraries/FontAwesome-4.5/h5p-font-awesome.min.css?ver=4.5.4",
"https://www.currikistudio.org/api/storage/h5p/libraries/Drop-1.0/css/drop-theme-arrows-bounce.min.css?ver=1.0.2",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.FontIcons-1.0/styles/h5p-font-icons.css?ver=1.0.6",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/css/joubel-help-dialog.css?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/css/joubel-message-dialog.css?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/css/joubel-progress-circle.css?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/css/joubel-simple-rounded-button.css?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/css/joubel-speech-bubble.css?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/css/joubel-tip.css?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/css/joubel-slider.css?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/css/joubel-score-bar.css?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/css/joubel-progressbar.css?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/css/joubel-ui.css?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/css/joubel-icon.css?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.Question-1.4/styles/question.css?ver=1.4.7",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.Question-1.4/styles/explainer.css?ver=1.4.7",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.SingleChoiceSet-1.11/styles/single-choice-set.css?ver=1.11.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.Summary-1.10/css/summary.css?ver=1.10.8",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.DragNResize-1.2/H5P.DragNResize.css?ver=1.2.6",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.DragNBar-1.5/styles/drag-n-bar.css?ver=1.5.10",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.DragNBar-1.5/styles/dialog.css?ver=1.5.10",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.DragNBar-1.5/styles/context-menu.css?ver=1.5.10",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.DragNBar-1.5/styles/drag-n-bar-form-manager.css?ver=1.5.10",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.Video-1.5/styles/video.css?ver=1.5.12",
"https://www.currikistudio.org/api/storage/h5p/libraries/jQuery.ui-1.10/h5p-jquery-ui.css?ver=1.10.19",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.InteractiveVideo-1.21/dist/h5p-interactive-video.css?ver=1.21.9"
]
}
}
},
"user": {
"id": 1,
"name": "John Doe",
"email": "john.doe@currikistudio.org"
},
"embed_code": "<div class=\"h5p-iframe-wrapper\"><iframe id=\"h5p-iframe-59\" class=\"h5p-iframe\" data-content-id=\"59\" style=\"height: 1px\" src=\"about:blank\" frameBorder=\"0\" scrolling=\"no\"></iframe></div>"
},
"playlist": {
"id": 1,
"title": "The Engineering & Design Behind Golf Balls",
"project_id": 1,
"order": 0,
"created_at": null,
"updated_at": null,
"deleted_at": null,
"elasticsearch": true,
"is_public": true,
"project": {
"id": 1,
"name": "The Science of Golf",
"description": "Uncover the science, technology, engineering, and mathematics behind the game of golf.",
"thumb_url": "/storage/projects/nN5y8v8zh2ghxrKuHCv5wvJOREFw0Nr27s2DPxWq.png",
"starter_project": false,
"created_at": "2020-04-30T20:03:12.000000Z",
"updated_at": "2020-09-17T05:44:49.000000Z",
"deleted_at": null,
"elasticsearch": false,
"shared": true,
"is_public": true
}
},
"created_at": null,
"updated_at": null
},
"playlist": {
"id": 1,
"title": "The Engineering & Design Behind Golf Balls",
"order": 0,
"is_public": true,
"project_id": 1,
"project": {
"id": 1,
"name": "The Science of Golf",
"description": "Uncover the science, technology, engineering, and mathematics behind the game of golf.",
"thumb_url": "/storage/projects/nN5y8v8zh2ghxrKuHCv5wvJOREFw0Nr27s2DPxWq.png",
"shared": true,
"starter_project": false,
"users": [
{
"id": 1,
"first_name": "John",
"last_name": "Doe",
"email": "john.doe@currikistudio.org",
"role": "owner"
}
],
"is_public": true,
"created_at": "2020-04-30T20:03:12.000000Z",
"updated_at": "2020-09-17T05:44:49.000000Z"
},
"activities": [
{
"id": 4,
"playlist_id": 1,
"title": "Labeling Golf Ball - Principles of Physics",
"type": "h5p",
"content": "",
"shared": false,
"order": 0,
"thumb_url": null,
"subject_id": null,
"education_level_id": null,
"h5p_content": {
"id": 65,
"created_at": "2020-04-30T23:40:49.000000Z",
"updated_at": "2020-04-30T23:40:49.000000Z",
"user_id": 1,
"title": "Labeling Golf Ball - Principles of Physics",
"library_id": 19,
"parameters": "{\"scoreShow\":\"Check\",\"tryAgain\":\"Retry\",\"scoreExplanation\":\"Correct answers give +1 point. Incorrect answers give -1 point. The lowest possible score is 0.\",\"question\":{\"settings\":{\"size\":{\"width\":620,\"height\":310},\"background\":{\"path\":\"images/background-5eab614083be2.png#tmp\",\"mime\":\"image/png\",\"copyright\":{\"license\":\"U\"},\"width\":620,\"height\":310}},\"task\":{\"elements\":[{\"x\":0,\"y\":47.96909692035003,\"width\":7.812090416666667,\"height\":1.3537570833333332,\"dropZones\":[\"0\",\"1\",\"2\"],\"type\":{\"library\":\"H5P.AdvancedText 1.1\",\"params\":{\"text\":\"<p>Lift</p>\\n\"},\"subContentId\":\"be1d9b11-91ff-4e59-a7c6-9966e1bf8cb2\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Lift\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Lift\"}},\"backgroundOpacity\":100,\"multiple\":false},{\"x\":-4.63163666049382e-8,\"y\":58.810763796296285,\"width\":7.812090416666667,\"height\":1.3537570833333332,\"dropZones\":[\"0\",\"1\",\"2\"],\"type\":{\"library\":\"H5P.AdvancedText 1.1\",\"params\":{\"text\":\"<p>Drag</p>\\n\"},\"subContentId\":\"05a00202-b5dd-44a9-acf1-0cce77278b33\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Drag\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Drag\"}},\"backgroundOpacity\":100,\"multiple\":false},{\"x\":-4.63163666049382e-8,\"y\":36.89236101851851,\"width\":7.812090416666667,\"height\":1.281997824074074,\"dropZones\":[\"0\",\"1\",\"2\"],\"type\":{\"library\":\"H5P.AdvancedText 1.1\",\"params\":{\"text\":\"<p>Spin</p>\\n\"},\"subContentId\":\"140a5423-873b-46d4-8f4f-9b236cefce20\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Spin\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Spin\"}},\"backgroundOpacity\":100,\"multiple\":false}],\"dropZones\":[{\"x\":72.35516653328209,\"y\":14.75972212933847,\"width\":8.61111111111111,\"height\":2.511574074074074,\"correctElements\":[\"0\"],\"showLabel\":false,\"backgroundOpacity\":50,\"tipsAndFeedback\":{\"tip\":\"\"},\"single\":true,\"autoAlign\":true,\"type\":{\"library\":\"H5P.DragQuestionDropzone 0.1\"},\"label\":\"<div>Lift</div>\\n\"},{\"x\":72.35484909201396,\"y\":36.89236101851851,\"width\":8.61111111111111,\"height\":2.511574074074074,\"correctElements\":[\"1\"],\"showLabel\":false,\"backgroundOpacity\":50,\"tipsAndFeedback\":{\"tip\":\"\"},\"single\":true,\"autoAlign\":true,\"type\":{\"library\":\"H5P.DragQuestionDropzone 0.1\"},\"label\":\"<div>Drag</div>\\n\"},{\"x\":72.35516653328209,\"y\":51.65902745268465,\"width\":8.61111111111111,\"height\":2.511574074074074,\"correctElements\":[\"2\"],\"showLabel\":false,\"backgroundOpacity\":50,\"tipsAndFeedback\":{\"tip\":\"\"},\"single\":true,\"autoAlign\":true,\"type\":{\"library\":\"H5P.DragQuestionDropzone 0.1\"},\"label\":\"<div>Spin</div>\\n\"}]}},\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"enableRetry\":true,\"enableCheckButton\":true,\"showSolutionsRequiresInput\":true,\"singlePoint\":false,\"applyPenalties\":true,\"enableScoreExplanation\":true,\"dropZoneHighlighting\":\"dragging\",\"autoAlignSpacing\":2,\"enableFullScreen\":false,\"showScorePoints\":true,\"showTitle\":true},\"grabbablePrefix\":\"Grabbable {num} of {total}.\",\"grabbableSuffix\":\"Placed in dropzone {num}.\",\"dropzonePrefix\":\"Dropzone {num} of {total}.\",\"noDropzone\":\"No dropzone.\",\"tipLabel\":\"Show tip.\",\"tipAvailable\":\"Tip available\",\"correctAnswer\":\"Correct answer\",\"wrongAnswer\":\"Wrong answer\",\"feedbackHeader\":\"Feedback\",\"scoreBarLabel\":\"You got :num out of :total points\",\"scoreExplanationButtonLabel\":\"Show score explanation\",\"localize\":{\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit fullscreen\"}}",
"filtered": "{\"scoreShow\":\"Check\",\"tryAgain\":\"Retry\",\"scoreExplanation\":\"Correct answers give +1 point. Incorrect answers give -1 point. The lowest possible score is 0.\",\"question\":{\"settings\":{\"size\":{\"width\":620,\"height\":310},\"background\":{\"path\":\"images/background-5eab614083be2.png\",\"mime\":\"image/png\",\"copyright\":{\"license\":\"U\"},\"width\":620,\"height\":310}},\"task\":{\"elements\":[{\"x\":0,\"y\":47.96909692035003,\"width\":7.812090416666667,\"height\":1.3537570833333332,\"dropZones\":[\"0\",\"1\",\"2\"],\"type\":{\"library\":\"H5P.AdvancedText 1.1\",\"params\":{\"text\":\"<p>Lift</p>\\n\"},\"subContentId\":\"be1d9b11-91ff-4e59-a7c6-9966e1bf8cb2\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Lift\"}},\"backgroundOpacity\":100,\"multiple\":false},{\"x\":-4.63163666049382e-8,\"y\":58.810763796296285,\"width\":7.812090416666667,\"height\":1.3537570833333332,\"dropZones\":[\"0\",\"1\",\"2\"],\"type\":{\"library\":\"H5P.AdvancedText 1.1\",\"params\":{\"text\":\"<p>Drag</p>\\n\"},\"subContentId\":\"05a00202-b5dd-44a9-acf1-0cce77278b33\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Drag\"}},\"backgroundOpacity\":100,\"multiple\":false},{\"x\":-4.63163666049382e-8,\"y\":36.89236101851851,\"width\":7.812090416666667,\"height\":1.281997824074074,\"dropZones\":[\"0\",\"1\",\"2\"],\"type\":{\"library\":\"H5P.AdvancedText 1.1\",\"params\":{\"text\":\"<p>Spin</p>\\n\"},\"subContentId\":\"140a5423-873b-46d4-8f4f-9b236cefce20\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Spin\"}},\"backgroundOpacity\":100,\"multiple\":false}],\"dropZones\":[{\"x\":72.35516653328209,\"y\":14.75972212933847,\"width\":8.61111111111111,\"height\":2.511574074074074,\"correctElements\":[\"0\"],\"showLabel\":false,\"backgroundOpacity\":50,\"tipsAndFeedback\":{\"tip\":\"\"},\"single\":true,\"autoAlign\":true,\"label\":\"<div>Lift</div>\\n\"},{\"x\":72.35484909201396,\"y\":36.89236101851851,\"width\":8.61111111111111,\"height\":2.511574074074074,\"correctElements\":[\"1\"],\"showLabel\":false,\"backgroundOpacity\":50,\"tipsAndFeedback\":{\"tip\":\"\"},\"single\":true,\"autoAlign\":true,\"label\":\"<div>Drag</div>\\n\"},{\"x\":72.35516653328209,\"y\":51.65902745268465,\"width\":8.61111111111111,\"height\":2.511574074074074,\"correctElements\":[\"2\"],\"showLabel\":false,\"backgroundOpacity\":50,\"tipsAndFeedback\":{\"tip\":\"\"},\"single\":true,\"autoAlign\":true,\"label\":\"<div>Spin</div>\\n\"}]}},\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"enableRetry\":true,\"enableCheckButton\":true,\"showSolutionsRequiresInput\":true,\"singlePoint\":false,\"applyPenalties\":true,\"enableScoreExplanation\":true,\"dropZoneHighlighting\":\"dragging\",\"autoAlignSpacing\":2,\"enableFullScreen\":false,\"showScorePoints\":true,\"showTitle\":true},\"grabbablePrefix\":\"Grabbable {num} of {total}.\",\"grabbableSuffix\":\"Placed in dropzone {num}.\",\"dropzonePrefix\":\"Dropzone {num} of {total}.\",\"noDropzone\":\"No dropzone.\",\"tipLabel\":\"Show tip.\",\"tipAvailable\":\"Tip available\",\"correctAnswer\":\"Correct answer\",\"wrongAnswer\":\"Wrong answer\",\"feedbackHeader\":\"Feedback\",\"scoreBarLabel\":\"You got :num out of :total points\",\"scoreExplanationButtonLabel\":\"Show score explanation\",\"localize\":{\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit fullscreen\"}}",
"slug": "labeling-golf-ball-principles-of-physics",
"embed_type": "div",
"disable": 9,
"content_type": null,
"authors": null,
"source": null,
"year_from": null,
"year_to": null,
"license": "U",
"license_version": null,
"license_extras": null,
"author_comments": null,
"changes": null,
"default_language": null
},
"is_public": false,
"created_at": null,
"updated_at": null
},
{
"id": 17774,
"playlist_id": 1,
"title": "Latest",
"type": "h5p",
"content": "test",
"shared": false,
"order": null,
"thumb_url": "/storage/activities/DrV6rZ6ZDXFMT1k51gbOqw04rqguq6CMtiiD1nDH.png",
"subject_id": "Mathematics",
"education_level_id": null,
"h5p_content": {
"id": 19334,
"created_at": "2020-08-30T20:09:56.000000Z",
"updated_at": "2020-08-30T20:09:56.000000Z",
"user_id": 1,
"title": "Latest",
"library_id": 98,
"parameters": "{\"l10n\":{\"recordAnswer\":\"Record\",\"pause\":\"Pause\",\"continue\":\"Continue\",\"download\":\"Download\",\"done\":\"Done\",\"retry\":\"Retry\",\"microphoneNotSupported\":\"Microphone not supported. Make sure you are using a browser that allows microphone recording.\",\"microphoneInaccessible\":\"Microphone is not accessible. Make sure that the browser microphone is enabled.\",\"insecureNotAllowed\":\"Access to microphone is not allowed in your browser since this page is not served using HTTPS. Please contact the author, and ask him to make this available using HTTPS\",\"statusReadyToRecord\":\"Press a button below to record your answer.\",\"statusRecording\":\"Recording...\",\"statusPaused\":\"Recording paused. Press a button to continue recording.\",\"statusFinishedRecording\":\"You have successfully recorded your answer! Listen to the recording below.\",\"downloadRecording\":\"Download this recording or retry.\",\"retryDialogHeaderText\":\"Retry recording?\",\"retryDialogBodyText\":\"By pressing \\\"Retry\\\" you will lose your current recording.\",\"retryDialogConfirmText\":\"Retry\",\"retryDialogCancelText\":\"Cancel\",\"statusCantCreateTheAudioFile\":\"Can't create the audio file.\"}}",
"filtered": "",
"slug": "latest",
"embed_type": "div",
"disable": 9,
"content_type": null,
"authors": null,
"source": null,
"year_from": null,
"year_to": null,
"license": "U",
"license_version": null,
"license_extras": null,
"author_comments": null,
"changes": null,
"default_language": null
},
"is_public": false,
"created_at": "2020-08-30T20:22:47.000000Z",
"updated_at": "2020-08-30T20:22:47.000000Z"
},
{
"id": 17776,
"playlist_id": 1,
"title": "Latest",
"type": "h5p",
"content": "test",
"shared": false,
"order": null,
"thumb_url": "/storage/activities/DrV6rZ6ZDXFMT1k51gbOqw04rqguq6CMtiiD1nDH.png",
"subject_id": "Mathematics",
"education_level_id": null,
"h5p_content": {
"id": 19334,
"created_at": "2020-08-30T20:09:56.000000Z",
"updated_at": "2020-08-30T20:09:56.000000Z",
"user_id": 1,
"title": "Latest",
"library_id": 98,
"parameters": "{\"l10n\":{\"recordAnswer\":\"Record\",\"pause\":\"Pause\",\"continue\":\"Continue\",\"download\":\"Download\",\"done\":\"Done\",\"retry\":\"Retry\",\"microphoneNotSupported\":\"Microphone not supported. Make sure you are using a browser that allows microphone recording.\",\"microphoneInaccessible\":\"Microphone is not accessible. Make sure that the browser microphone is enabled.\",\"insecureNotAllowed\":\"Access to microphone is not allowed in your browser since this page is not served using HTTPS. Please contact the author, and ask him to make this available using HTTPS\",\"statusReadyToRecord\":\"Press a button below to record your answer.\",\"statusRecording\":\"Recording...\",\"statusPaused\":\"Recording paused. Press a button to continue recording.\",\"statusFinishedRecording\":\"You have successfully recorded your answer! Listen to the recording below.\",\"downloadRecording\":\"Download this recording or retry.\",\"retryDialogHeaderText\":\"Retry recording?\",\"retryDialogBodyText\":\"By pressing \\\"Retry\\\" you will lose your current recording.\",\"retryDialogConfirmText\":\"Retry\",\"retryDialogCancelText\":\"Cancel\",\"statusCantCreateTheAudioFile\":\"Can't create the audio file.\"}}",
"filtered": "",
"slug": "latest",
"embed_type": "div",
"disable": 9,
"content_type": null,
"authors": null,
"source": null,
"year_from": null,
"year_to": null,
"license": "U",
"license_version": null,
"license_extras": null,
"author_comments": null,
"changes": null,
"default_language": null
},
"is_public": false,
"created_at": "2020-08-30T20:24:29.000000Z",
"updated_at": "2020-08-30T20:24:29.000000Z"
},
{
"id": 3,
"playlist_id": 1,
"title": "Physics Vocabulary Study Guide",
"type": "h5p",
"content": "",
"shared": false,
"order": 1,
"thumb_url": null,
"subject_id": null,
"education_level_id": null,
"h5p_content": {
"id": 61,
"created_at": "2020-04-30T20:35:30.000000Z",
"updated_at": "2020-04-30T20:35:30.000000Z",
"user_id": 1,
"title": "Physics Vocabulary Study Guide",
"library_id": 63,
"parameters": "{\"panels\":[{\"content\":{\"params\":{\"text\":\"<p style=\\\"margin-bottom:10px\\\"><span style=\\\"font-size:11pt\\\"><span style=\\\"line-height:107%\\\"><span style=\\\"font-family:Calibri,sans-serif\\\">Acceleration is the measurement of the change </span></span></span><span style=\\\"font-size:11.0pt\\\"><span style=\\\"line-height:107%\\\"><span style=\\\"font-family:"Calibri",sans-serif\\\">in an object\\u2019s velocity. </span></span></span></p>\\n\"},\"library\":\"H5P.AdvancedText 1.1\",\"subContentId\":\"97578055-d386-46be-afe3-c19eae4108aa\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Acceleration\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Acceleration\"}},\"title\":\"Acceleration\"},{\"content\":{\"params\":{\"text\":\"<p style=\\\"margin-bottom:10px\\\"><span style=\\\"font-size:11pt\\\"><span style=\\\"line-height:107%\\\"><span style=\\\"font-family:Calibri,sans-serif\\\">The faster the air moves, the less pressure it exerts.</span></span></span></p>\\n\"},\"library\":\"H5P.AdvancedText 1.1\",\"subContentId\":\"0ce32fbf-4ff1-465b-9c50-8876c5fef34d\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Bernoulli\\u2019s Principle\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Bernoulli\\u2019s Principle\"}},\"title\":\"Bernoulli\\u2019s Principle\"},{\"content\":{\"params\":{\"text\":\"<p><span style=\\\"font-size:10.5pt\\\"><span style=\\\"line-height:107%\\\"><span style=\\\"font-family:"Calibri",sans-serif\\\"><span style=\\\"color:black\\\">A vector is a quantity that has both a magnitude and a direction.</span></span></span></span></p>\\n\"},\"library\":\"H5P.AdvancedText 1.1\",\"subContentId\":\"cead752e-0c29-4acb-b9ae-2f61a3cd5c9b\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Vector\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Vector\"}},\"title\":\"Vector\"},{\"content\":{\"params\":{\"text\":\"<p><span style=\\\"font-size:10.5pt\\\"><span style=\\\"line-height:107%\\\"><span style=\\\"font-family:"Calibri",sans-serif\\\"><span style=\\\"color:black\\\">Drag is the force that acts opposite to the direction of motion. Drag is caused by friction and differences in air pressure.</span></span></span></span></p>\\n\"},\"library\":\"H5P.AdvancedText 1.1\",\"subContentId\":\"6ae4b819-276d-405e-b085-e894c31484d3\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Drag\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Drag\"}},\"title\":\"Drag\"},{\"content\":{\"params\":{\"text\":\"<p style=\\\"margin-bottom:10px\\\"><span style=\\\"font-size:11pt\\\"><span style=\\\"line-height:normal\\\"><span style=\\\"font-family:Calibri,sans-serif\\\"><span style=\\\"font-size:10.5pt\\\"><span style=\\\"color:black\\\">A turbulent flow is one in which the particles have irregular, fluctuating motions and erratic paths.</span></span></span></span></span></p>\\n\"},\"library\":\"H5P.AdvancedText 1.1\",\"subContentId\":\"f9f63fdd-0a8a-4259-a3f1-ca7271b51727\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Turbulent airflow\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Turbulent airflow\"}},\"title\":\"Turbulent airflow\"},{\"content\":{\"params\":{\"text\":\"<p style=\\\"margin-bottom:10px\\\"><span style=\\\"font-size:11pt\\\"><span style=\\\"line-height:107%\\\"><span style=\\\"font-family:Calibri,sans-serif\\\">Friction is the resistance of motion when one object rubs against another. It is a force and is measured in newtons.</span></span></span></p>\\n\"},\"library\":\"H5P.AdvancedText 1.1\",\"subContentId\":\"236c832f-f754-47d6-8d2c-1311a354d861\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Friction\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Friction\"}},\"title\":\"Friction\"}],\"hTag\":\"h2\"}",
"filtered": "{\"panels\":[{\"content\":{\"params\":{\"text\":\"<p><span><span><span>Acceleration is the measurement of the change </span></span></span><span><span><span>in an object\\u2019s velocity. </span></span></span></p>\\n\"},\"library\":\"H5P.AdvancedText 1.1\",\"subContentId\":\"97578055-d386-46be-afe3-c19eae4108aa\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Acceleration\"}},\"title\":\"Acceleration\"},{\"content\":{\"params\":{\"text\":\"<p><span><span><span>The faster the air moves, the less pressure it exerts.</span></span></span></p>\\n\"},\"library\":\"H5P.AdvancedText 1.1\",\"subContentId\":\"0ce32fbf-4ff1-465b-9c50-8876c5fef34d\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Bernoulli\\u2019s Principle\"}},\"title\":\"Bernoulli\\u2019s Principle\"},{\"content\":{\"params\":{\"text\":\"<p><span><span><span><span>A vector is a quantity that has both a magnitude and a direction.</span></span></span></span></p>\\n\"},\"library\":\"H5P.AdvancedText 1.1\",\"subContentId\":\"cead752e-0c29-4acb-b9ae-2f61a3cd5c9b\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Vector\"}},\"title\":\"Vector\"},{\"content\":{\"params\":{\"text\":\"<p><span><span><span><span>Drag is the force that acts opposite to the direction of motion. Drag is caused by friction and differences in air pressure.</span></span></span></span></p>\\n\"},\"library\":\"H5P.AdvancedText 1.1\",\"subContentId\":\"6ae4b819-276d-405e-b085-e894c31484d3\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Drag\"}},\"title\":\"Drag\"},{\"content\":{\"params\":{\"text\":\"<p><span><span><span><span><span>A turbulent flow is one in which the particles have irregular, fluctuating motions and erratic paths.</span></span></span></span></span></p>\\n\"},\"library\":\"H5P.AdvancedText 1.1\",\"subContentId\":\"f9f63fdd-0a8a-4259-a3f1-ca7271b51727\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Turbulent airflow\"}},\"title\":\"Turbulent airflow\"},{\"content\":{\"params\":{\"text\":\"<p><span><span><span>Friction is the resistance of motion when one object rubs against another. It is a force and is measured in newtons.</span></span></span></p>\\n\"},\"library\":\"H5P.AdvancedText 1.1\",\"subContentId\":\"236c832f-f754-47d6-8d2c-1311a354d861\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Friction\"}},\"title\":\"Friction\"}],\"hTag\":\"h2\"}",
"slug": "physics-vocabulary-study-guide",
"embed_type": "div",
"disable": 9,
"content_type": null,
"authors": null,
"source": null,
"year_from": null,
"year_to": null,
"license": "U",
"license_version": null,
"license_extras": null,
"author_comments": null,
"changes": null,
"default_language": null
},
"is_public": false,
"created_at": null,
"updated_at": null
},
{
"id": 1,
"playlist_id": 1,
"title": "Science of Golf: Why Balls Have Dimples",
"type": "h5p",
"content": "",
"shared": false,
"order": 2,
"thumb_url": null,
"subject_id": null,
"education_level_id": null,
"h5p_content": {
"id": 59,
"created_at": "2020-04-30T20:24:58.000000Z",
"updated_at": "2020-04-30T20:24:58.000000Z",
"user_id": 1,
"title": "Science of Golf: Why Balls Have Dimples",
"library_id": 40,
"parameters": "{\"interactiveVideo\":{\"video\":{\"startScreenOptions\":{\"title\":\"Interactive Video\",\"hideStartTitle\":false},\"textTracks\":{\"videoTrack\":[{\"label\":\"Subtitles\",\"kind\":\"subtitles\",\"srcLang\":\"en\"}]},\"files\":[{\"path\":\"https://youtu.be/fcjaxC-e8oY\",\"mime\":\"video/YouTube\",\"copyright\":{\"license\":\"U\"},\"aspectRatio\":\"16:9\"}]},\"assets\":{\"interactions\":[{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":58.33,\"to\":68.33},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"133bca3d-cfe9-442d-a887-8bf1e2ce682a\",\"question\":\"<p>Why do golf balls have dimples?</p>\\n\",\"answers\":[\"<p>They reduce wind resistance.</p>\\n\",\"<p>They make the ball more visually interesting.</p>\\n\",\"<p>They grip the putting green better than a smooth ball.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"ac029b43-7225-49ed-a2d7-8656037748e0\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Why do golf balls have dimples?\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Why do golf balls have dimples?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Why do golf balls have dimples?</p>\\n\"},{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":132.969,\"to\":142.969},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"308503f3-8d41-4f4f-b016-587bcce3dfac\",\"question\":\"<p>A smooth ball will have a detached airflow, which causes what?</p>\\n\",\"answers\":[\"<p>A low pressure zone, which is what causes drag.</p>\\n\",\"<p>The ball has no spin.</p>\\n\",\"<p>The ball travels higher, but for a shorter distance.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"f70c849d-9542-4f30-9116-8b60b7da708d\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Smooth Ball?\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Smooth Ball?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Smooth Ball</p>\\n\"}],\"bookmarks\":[],\"endscreens\":[{\"time\":295,\"label\":\"4:55 Submit screen\"}]},\"summary\":{\"task\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"8e2cf84f-4557-4f79-a03e-526838498a7d\",\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"8d5527ef-3601-4ad9-9e63-2782c9775173\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Untitled Summary\"}},\"displayAt\":3}},\"override\":{\"autoplay\":false,\"loop\":false,\"showBookmarksmenuOnLoad\":false,\"showRewind10\":false,\"preventSkipping\":false,\"deactivateSound\":false},\"l10n\":{\"interaction\":\"Interaction\",\"play\":\"Play\",\"pause\":\"Pause\",\"mute\":\"Mute\",\"unmute\":\"Unmute\",\"quality\":\"Video Quality\",\"captions\":\"Captions\",\"close\":\"Close\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit Fullscreen\",\"summary\":\"Open summary dialog\",\"bookmarks\":\"Bookmarks\",\"endscreen\":\"Submit screen\",\"defaultAdaptivitySeekLabel\":\"Continue\",\"continueWithVideo\":\"Continue with video\",\"playbackRate\":\"Playback Rate\",\"rewind10\":\"Rewind 10 Seconds\",\"navDisabled\":\"Navigation is disabled\",\"sndDisabled\":\"Sound is disabled\",\"requiresCompletionWarning\":\"You need to answer all the questions correctly before continuing.\",\"back\":\"Back\",\"hours\":\"Hours\",\"minutes\":\"Minutes\",\"seconds\":\"Seconds\",\"currentTime\":\"Current time:\",\"totalTime\":\"Total time:\",\"singleInteractionAnnouncement\":\"Interaction appeared:\",\"multipleInteractionsAnnouncement\":\"Multiple interactions appeared.\",\"videoPausedAnnouncement\":\"Video is paused\",\"content\":\"Content\",\"answered\":\"@answered answered\",\"endcardTitle\":\"@answered Question(s) answered\",\"endcardInformation\":\"You have answered @answered questions, click below to submit your answers.\",\"endcardInformationNoAnswers\":\"You have not answered any questions.\",\"endcardInformationMustHaveAnswer\":\"You have to answer at least one question before you can submit your answers.\",\"endcardSubmitButton\":\"Submit Answers\",\"endcardSubmitMessage\":\"Your answers have been submitted!\",\"endcardTableRowAnswered\":\"Answered questions\",\"endcardTableRowScore\":\"Score\",\"endcardAnsweredScore\":\"answered\",\"endCardTableRowSummaryWithScore\":\"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\"endCardTableRowSummaryWithoutScore\":\"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\"}}",
"filtered": "{\"interactiveVideo\":{\"video\":{\"startScreenOptions\":{\"title\":\"Interactive Video\",\"hideStartTitle\":false},\"textTracks\":{\"videoTrack\":[{\"label\":\"Subtitles\",\"kind\":\"subtitles\",\"srcLang\":\"en\"}]},\"files\":[{\"path\":\"https://youtu.be/fcjaxC-e8oY\",\"mime\":\"video/YouTube\",\"copyright\":{\"license\":\"U\"}}]},\"assets\":{\"interactions\":[{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":58.33,\"to\":68.33},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"133bca3d-cfe9-442d-a887-8bf1e2ce682a\",\"question\":\"<p>Why do golf balls have dimples?</p>\\n\",\"answers\":[\"<p>They reduce wind resistance.</p>\\n\",\"<p>They make the ball more visually interesting.</p>\\n\",\"<p>They grip the putting green better than a smooth ball.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"ac029b43-7225-49ed-a2d7-8656037748e0\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Why do golf balls have dimples?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Why do golf balls have dimples?</p>\\n\"},{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":132.969,\"to\":142.969},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"308503f3-8d41-4f4f-b016-587bcce3dfac\",\"question\":\"<p>A smooth ball will have a detached airflow, which causes what?</p>\\n\",\"answers\":[\"<p>A low pressure zone, which is what causes drag.</p>\\n\",\"<p>The ball has no spin.</p>\\n\",\"<p>The ball travels higher, but for a shorter distance.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"f70c849d-9542-4f30-9116-8b60b7da708d\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Smooth Ball?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Smooth Ball</p>\\n\"}],\"endscreens\":[{\"time\":295,\"label\":\"4:55 Submit screen\"}]},\"summary\":{\"task\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"8e2cf84f-4557-4f79-a03e-526838498a7d\",\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"8d5527ef-3601-4ad9-9e63-2782c9775173\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\"}},\"displayAt\":3}},\"override\":{\"autoplay\":false,\"loop\":false,\"showBookmarksmenuOnLoad\":false,\"showRewind10\":false,\"preventSkipping\":false,\"deactivateSound\":false},\"l10n\":{\"interaction\":\"Interaction\",\"play\":\"Play\",\"pause\":\"Pause\",\"mute\":\"Mute\",\"unmute\":\"Unmute\",\"quality\":\"Video Quality\",\"captions\":\"Captions\",\"close\":\"Close\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit Fullscreen\",\"summary\":\"Open summary dialog\",\"bookmarks\":\"Bookmarks\",\"endscreen\":\"Submit screen\",\"defaultAdaptivitySeekLabel\":\"Continue\",\"continueWithVideo\":\"Continue with video\",\"playbackRate\":\"Playback Rate\",\"rewind10\":\"Rewind 10 Seconds\",\"navDisabled\":\"Navigation is disabled\",\"sndDisabled\":\"Sound is disabled\",\"requiresCompletionWarning\":\"You need to answer all the questions correctly before continuing.\",\"back\":\"Back\",\"hours\":\"Hours\",\"minutes\":\"Minutes\",\"seconds\":\"Seconds\",\"currentTime\":\"Current time:\",\"totalTime\":\"Total time:\",\"singleInteractionAnnouncement\":\"Interaction appeared:\",\"multipleInteractionsAnnouncement\":\"Multiple interactions appeared.\",\"videoPausedAnnouncement\":\"Video is paused\",\"content\":\"Content\",\"answered\":\"@answered answered\",\"endcardTitle\":\"@answered Question(s) answered\",\"endcardInformation\":\"You have answered @answered questions, click below to submit your answers.\",\"endcardInformationNoAnswers\":\"You have not answered any questions.\",\"endcardInformationMustHaveAnswer\":\"You have to answer at least one question before you can submit your answers.\",\"endcardSubmitButton\":\"Submit Answers\",\"endcardSubmitMessage\":\"Your answers have been submitted!\",\"endcardTableRowAnswered\":\"Answered questions\",\"endcardTableRowScore\":\"Score\",\"endcardAnsweredScore\":\"answered\",\"endCardTableRowSummaryWithScore\":\"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\"endCardTableRowSummaryWithoutScore\":\"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\"}}",
"slug": "science-of-golf-why-balls-have-dimples",
"embed_type": "div",
"disable": 9,
"content_type": null,
"authors": null,
"source": null,
"year_from": null,
"year_to": null,
"license": "U",
"license_version": null,
"license_extras": null,
"author_comments": null,
"changes": null,
"default_language": null
},
"is_public": false,
"created_at": null,
"updated_at": null
},
{
"id": 2,
"playlist_id": 1,
"title": "Physics and Golf Balls",
"type": "h5p",
"content": "",
"shared": false,
"order": 3,
"thumb_url": null,
"subject_id": null,
"education_level_id": null,
"h5p_content": {
"id": 60,
"created_at": "2020-04-30T20:31:11.000000Z",
"updated_at": "2020-04-30T20:31:11.000000Z",
"user_id": 1,
"title": "Physics and Golf Balls",
"library_id": 60,
"parameters": "{\"cards\":[{\"text\":\"Is the measurement of the change in an object\\u2019s velocity called Speed or Acceleration?\",\"answer\":\"Acceleration\",\"image\":{\"path\":\"images/image-5eab35098aaf0.png#tmp\",\"mime\":\"image/png\",\"copyright\":{\"license\":\"U\"},\"width\":1280,\"height\":720},\"tip\":\"\"},{\"text\":\"Dimples reduce wind resistance or aerodynamic drag. Does that make the ball go farther or faster?\",\"answer\":\"Farther\",\"image\":{\"path\":\"images/image-5eab355f7ca78.jpg#tmp\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":1280,\"height\":720},\"tip\":\"\"},{\"text\":\"Do dimples on a ball increase or decrease the lift?\",\"answer\":\"Increase\",\"image\":{\"path\":\"images/image-5eab3589be9e3.jpg#tmp\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":634,\"height\":508},\"tip\":\"\"}],\"progressText\":\"Card @card of @total\",\"next\":\"Next\",\"previous\":\"Previous\",\"checkAnswerText\":\"Check\",\"showSolutionsRequiresInput\":true,\"defaultAnswerText\":\"Your answer\",\"correctAnswerText\":\"Correct\",\"incorrectAnswerText\":\"Incorrect\",\"showSolutionText\":\"Correct answer\",\"results\":\"Results\",\"ofCorrect\":\"@score of @total correct\",\"showResults\":\"Show results\",\"answerShortText\":\"A:\",\"retry\":\"Retry\",\"caseSensitive\":false,\"cardAnnouncement\":\"Incorrect answer. Correct answer was @answer\",\"pageAnnouncement\":\"Page @current of @total\",\"description\":\"See if you can remember what you learned!\"}",
"filtered": "{\"cards\":[{\"text\":\"Is the measurement of the change in an object\\u2019s velocity called Speed or Acceleration?\",\"answer\":\"Acceleration\",\"image\":{\"path\":\"images/image-5eab35098aaf0.png\",\"mime\":\"image/png\",\"copyright\":{\"license\":\"U\"},\"width\":1280,\"height\":720},\"tip\":\"\"},{\"text\":\"Dimples reduce wind resistance or aerodynamic drag. Does that make the ball go farther or faster?\",\"answer\":\"Farther\",\"image\":{\"path\":\"images/image-5eab355f7ca78.jpg\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":1280,\"height\":720},\"tip\":\"\"},{\"text\":\"Do dimples on a ball increase or decrease the lift?\",\"answer\":\"Increase\",\"image\":{\"path\":\"images/image-5eab3589be9e3.jpg\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":634,\"height\":508},\"tip\":\"\"}],\"progressText\":\"Card @card of @total\",\"next\":\"Next\",\"previous\":\"Previous\",\"checkAnswerText\":\"Check\",\"showSolutionsRequiresInput\":true,\"defaultAnswerText\":\"Your answer\",\"correctAnswerText\":\"Correct\",\"incorrectAnswerText\":\"Incorrect\",\"showSolutionText\":\"Correct answer\",\"results\":\"Results\",\"ofCorrect\":\"@score of @total correct\",\"showResults\":\"Show results\",\"answerShortText\":\"A:\",\"retry\":\"Retry\",\"caseSensitive\":false,\"cardAnnouncement\":\"Incorrect answer. Correct answer was @answer\",\"pageAnnouncement\":\"Page @current of @total\",\"description\":\"See if you can remember what you learned!\"}",
"slug": "physics-and-golf-balls",
"embed_type": "div",
"disable": 9,
"content_type": null,
"authors": null,
"source": null,
"year_from": null,
"year_to": null,
"license": "U",
"license_version": null,
"license_extras": null,
"author_comments": null,
"changes": null,
"default_language": null
},
"is_public": false,
"created_at": null,
"updated_at": null
},
{
"id": 6,
"playlist_id": 1,
"title": "Understanding Gear Effect | Equipment and Tech | 18Birdies",
"type": "h5p",
"content": "",
"shared": false,
"order": 4,
"thumb_url": null,
"subject_id": null,
"education_level_id": null,
"h5p_content": {
"id": 75,
"created_at": "2020-05-01T04:51:11.000000Z",
"updated_at": "2020-05-01T04:51:11.000000Z",
"user_id": 1,
"title": "Understanding Gear Effect | Equipment and Tech | 18Birdies",
"library_id": 40,
"parameters": "{\"interactiveVideo\":{\"video\":{\"startScreenOptions\":{\"title\":\"Interactive Video\",\"hideStartTitle\":false},\"textTracks\":{\"videoTrack\":[{\"label\":\"Subtitles\",\"kind\":\"subtitles\",\"srcLang\":\"en\"}]},\"files\":[{\"path\":\"https://www.youtube.com/watch?v=FdH0JQL5E-U&list=PLVIShUJLAj0rWw3Yr3VtFGH4IbIVMfQFo\",\"mime\":\"video/YouTube\",\"copyright\":{\"license\":\"U\"},\"aspectRatio\":\"16:9\"}]},\"assets\":{\"interactions\":[{\"x\":46.87499999999999,\"y\":44.44444444444444,\"width\":10,\"height\":10,\"duration\":{\"from\":52,\"to\":52},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"c9f0c83d-2ba2-4810-843a-1ee7bec2076f\",\"question\":\"<p>\\\"Torque\\\" is a property of golf shafts that describes how much the shaft is prone to twisting during the golf swing.</p>\\n\",\"answers\":[\"<p>True</p>\\n\",\"<p>False</p>\\n\"]},{\"subContentId\":\"81f2e02c-0f04-44a3-922c-4eac61a11acb\",\"question\":\"<p>... A shaft with a _____ torque rating means the shaft better resists twisting; a shaft with a ____ torque rating means the shaft is more prone to twisting (all other things being equal).</p>\\n\",\"answers\":[\"<p>lower, higher</p>\\n\",\"<p>higher, lower</p>\\n\",\"<p>sharper, duller</p>\\n\",\"<p>straigher, curved</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"eadebb1e-891e-4ff3-8676-943c2616a9e0\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Untitled Single Choice Set\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Untitled Single Choice Set\"}},\"pause\":true,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"\"},{\"x\":46.87499999999999,\"y\":44.44444444444444,\"width\":10,\"height\":10,\"duration\":{\"from\":24.314,\"to\":34.314},\"libraryTitle\":\"Statements\",\"action\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"7bce98af-5267-4ca6-a08c-0c8f2bef5afb\",\"summary\":[\"Gear effect is the term used to explain how and why hitting the ball off-center changes the ball flight.\\n\",\"<p>Gear effect is the term used to explain how and why it is imprtant to adjust the pressure on the clubhead.</p>\\n\",\"<p>Gear effect is the term used to explain how and why it is imprtant to ride your bike to the course.</p>\\n\"],\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"3b954191-ad43-452c-95c3-868047eb55be\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Untitled Summary\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"}},\"label\":\"\"},{\"x\":46.87499999999999,\"y\":44.44444444444444,\"width\":10,\"height\":10,\"duration\":{\"from\":145.688,\"to\":155.688},\"libraryTitle\":\"Multiple Choice\",\"action\":{\"library\":\"H5P.MultiChoice 1.14\",\"params\":{\"media\":{\"type\":{\"params\":{}},\"disableImageZooming\":false},\"answers\":[{\"correct\":true,\"tipsAndFeedback\":{\"tip\":\"\",\"chosenFeedback\":\"\",\"notChosenFeedback\":\"\"},\"text\":\"<div>This pushes the ball to the right, causing a fade slice curved flight.</div>\\n\"},{\"correct\":false,\"tipsAndFeedback\":{\"tip\":\"\",\"chosenFeedback\":\"\",\"notChosenFeedback\":\"\"},\"text\":\"<div>This pushes the ball to the left, causing a <strong>slice</strong> curved flight.</div>\\n\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"enableRetry\":true,\"enableSolutionsButton\":true,\"enableCheckButton\":true,\"type\":\"auto\",\"singlePoint\":false,\"randomAnswers\":true,\"showSolutionsRequiresInput\":true,\"confirmCheckDialog\":false,\"confirmRetryDialog\":false,\"autoCheck\":false,\"passPercentage\":100,\"showScorePoints\":true},\"UI\":{\"checkAnswerButton\":\"Check\",\"showSolutionButton\":\"Show solution\",\"tryAgainButton\":\"Retry\",\"tipsLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"tipAvailable\":\"Tip available\",\"feedbackAvailable\":\"Feedback available\",\"readFeedback\":\"Read feedback\",\"wrongAnswer\":\"Wrong answer\",\"correctAnswer\":\"Correct answer\",\"shouldCheck\":\"Should have been checked\",\"shouldNotCheck\":\"Should not have been checked\",\"noInput\":\"Please answer before viewing the solution\"},\"confirmCheck\":{\"header\":\"Finish ?\",\"body\":\"Are you sure you wish to finish ?\",\"cancelLabel\":\"Cancel\",\"confirmLabel\":\"Finish\"},\"confirmRetry\":{\"header\":\"Retry ?\",\"body\":\"Are you sure you wish to retry ?\",\"cancelLabel\":\"Cancel\",\"confirmLabel\":\"Confirm\"},\"question\":\"<p>When a ball is spinning in a clockwise direction, there is high pressure on the left hand side of the ball, and low pressure on the right.</p>\\n\"},\"subContentId\":\"df5e99b0-6513-4aa9-a760-e3d9e2bfefe9\",\"metadata\":{\"contentType\":\"Multiple Choice\",\"license\":\"U\",\"title\":\"Untitled Multiple Choice\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Untitled Multiple Choice\"}},\"pause\":true,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"\"}],\"bookmarks\":[],\"endscreens\":[{\"time\":358,\"label\":\"5:58 Submit screen\"}]},\"summary\":{\"task\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"64506cb8-ea40-4c72-8c98-ed0bb3c3b808\",\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"b8eb5a4d-5e2e-4b74-95f5-ca37d1a45186\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Untitled Summary\"}},\"displayAt\":3}},\"override\":{\"autoplay\":true,\"loop\":false,\"showBookmarksmenuOnLoad\":false,\"showRewind10\":false,\"preventSkipping\":false,\"deactivateSound\":false,\"startVideoAt\":37},\"l10n\":{\"interaction\":\"Interaction\",\"play\":\"Play\",\"pause\":\"Pause\",\"mute\":\"Mute\",\"unmute\":\"Unmute\",\"quality\":\"Video Quality\",\"captions\":\"Captions\",\"close\":\"Close\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit Fullscreen\",\"summary\":\"Open summary dialog\",\"bookmarks\":\"Bookmarks\",\"endscreen\":\"Submit screen\",\"defaultAdaptivitySeekLabel\":\"Continue\",\"continueWithVideo\":\"Continue with video\",\"playbackRate\":\"Playback Rate\",\"rewind10\":\"Rewind 10 Seconds\",\"navDisabled\":\"Navigation is disabled\",\"sndDisabled\":\"Sound is disabled\",\"requiresCompletionWarning\":\"You need to answer all the questions correctly before continuing.\",\"back\":\"Back\",\"hours\":\"Hours\",\"minutes\":\"Minutes\",\"seconds\":\"Seconds\",\"currentTime\":\"Current time:\",\"totalTime\":\"Total time:\",\"singleInteractionAnnouncement\":\"Interaction appeared:\",\"multipleInteractionsAnnouncement\":\"Multiple interactions appeared.\",\"videoPausedAnnouncement\":\"Video is paused\",\"content\":\"Content\",\"answered\":\"@answered answered\",\"endcardTitle\":\"@answered Question(s) answered\",\"endcardInformation\":\"You have answered @answered questions, click below to submit your answers.\",\"endcardInformationNoAnswers\":\"You have not answered any questions.\",\"endcardInformationMustHaveAnswer\":\"You have to answer at least one question before you can submit your answers.\",\"endcardSubmitButton\":\"Submit Answers\",\"endcardSubmitMessage\":\"Your answers have been submitted!\",\"endcardTableRowAnswered\":\"Answered questions\",\"endcardTableRowScore\":\"Score\",\"endcardAnsweredScore\":\"answered\",\"endCardTableRowSummaryWithScore\":\"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\"endCardTableRowSummaryWithoutScore\":\"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\"}}",
"filtered": "{\"interactiveVideo\":{\"video\":{\"startScreenOptions\":{\"title\":\"Interactive Video\",\"hideStartTitle\":false},\"textTracks\":{\"videoTrack\":[{\"label\":\"Subtitles\",\"kind\":\"subtitles\",\"srcLang\":\"en\"}]},\"files\":[{\"path\":\"https://www.youtube.com/watch?v=FdH0JQL5E-U&list=PLVIShUJLAj0rWw3Yr3VtFGH4IbIVMfQFo\",\"mime\":\"video/YouTube\",\"copyright\":{\"license\":\"U\"}}]},\"assets\":{\"interactions\":[{\"x\":46.87499999999999,\"y\":44.44444444444444,\"width\":10,\"height\":10,\"duration\":{\"from\":52,\"to\":52},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"c9f0c83d-2ba2-4810-843a-1ee7bec2076f\",\"question\":\"<p>\\\"Torque\\\" is a property of golf shafts that describes how much the shaft is prone to twisting during the golf swing.</p>\\n\",\"answers\":[\"<p>True</p>\\n\",\"<p>False</p>\\n\"]},{\"subContentId\":\"81f2e02c-0f04-44a3-922c-4eac61a11acb\",\"question\":\"<p>... A shaft with a _____ torque rating means the shaft better resists twisting; a shaft with a ____ torque rating means the shaft is more prone to twisting (all other things being equal).</p>\\n\",\"answers\":[\"<p>lower, higher</p>\\n\",\"<p>higher, lower</p>\\n\",\"<p>sharper, duller</p>\\n\",\"<p>straigher, curved</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"eadebb1e-891e-4ff3-8676-943c2616a9e0\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Untitled Single Choice Set\"}},\"pause\":true,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"\"},{\"x\":46.87499999999999,\"y\":44.44444444444444,\"width\":10,\"height\":10,\"duration\":{\"from\":24.314,\"to\":34.314},\"libraryTitle\":\"Statements\",\"action\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"7bce98af-5267-4ca6-a08c-0c8f2bef5afb\",\"summary\":[\"Gear effect is the term used to explain how and why hitting the ball off-center changes the ball flight.\\n\",\"<p>Gear effect is the term used to explain how and why it is imprtant to adjust the pressure on the clubhead.</p>\\n\",\"<p>Gear effect is the term used to explain how and why it is imprtant to ride your bike to the course.</p>\\n\"],\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"3b954191-ad43-452c-95c3-868047eb55be\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"}},\"label\":\"\"},{\"x\":46.87499999999999,\"y\":44.44444444444444,\"width\":10,\"height\":10,\"duration\":{\"from\":145.688,\"to\":155.688},\"libraryTitle\":\"Multiple Choice\",\"action\":{\"library\":\"H5P.MultiChoice 1.14\",\"params\":{\"media\":{\"disableImageZooming\":false},\"answers\":[{\"correct\":true,\"tipsAndFeedback\":{\"tip\":\"\",\"chosenFeedback\":\"\",\"notChosenFeedback\":\"\"},\"text\":\"<div>This pushes the ball to the right, causing a fade slice curved flight.</div>\\n\"},{\"correct\":false,\"tipsAndFeedback\":{\"tip\":\"\",\"chosenFeedback\":\"\",\"notChosenFeedback\":\"\"},\"text\":\"<div>This pushes the ball to the left, causing a <strong>slice</strong> curved flight.</div>\\n\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"enableRetry\":true,\"enableSolutionsButton\":true,\"enableCheckButton\":true,\"type\":\"auto\",\"singlePoint\":false,\"randomAnswers\":true,\"showSolutionsRequiresInput\":true,\"confirmCheckDialog\":false,\"confirmRetryDialog\":false,\"autoCheck\":false,\"passPercentage\":100,\"showScorePoints\":true},\"UI\":{\"checkAnswerButton\":\"Check\",\"showSolutionButton\":\"Show solution\",\"tryAgainButton\":\"Retry\",\"tipsLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"tipAvailable\":\"Tip available\",\"feedbackAvailable\":\"Feedback available\",\"readFeedback\":\"Read feedback\",\"wrongAnswer\":\"Wrong answer\",\"correctAnswer\":\"Correct answer\",\"shouldCheck\":\"Should have been checked\",\"shouldNotCheck\":\"Should not have been checked\",\"noInput\":\"Please answer before viewing the solution\"},\"confirmCheck\":{\"header\":\"Finish ?\",\"body\":\"Are you sure you wish to finish ?\",\"cancelLabel\":\"Cancel\",\"confirmLabel\":\"Finish\"},\"confirmRetry\":{\"header\":\"Retry ?\",\"body\":\"Are you sure you wish to retry ?\",\"cancelLabel\":\"Cancel\",\"confirmLabel\":\"Confirm\"},\"question\":\"<p>When a ball is spinning in a clockwise direction, there is high pressure on the left hand side of the ball, and low pressure on the right.</p>\\n\"},\"subContentId\":\"df5e99b0-6513-4aa9-a760-e3d9e2bfefe9\",\"metadata\":{\"contentType\":\"Multiple Choice\",\"license\":\"U\",\"title\":\"Untitled Multiple Choice\"}},\"pause\":true,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"\"}],\"endscreens\":[{\"time\":358,\"label\":\"5:58 Submit screen\"}]},\"summary\":{\"task\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"64506cb8-ea40-4c72-8c98-ed0bb3c3b808\",\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"b8eb5a4d-5e2e-4b74-95f5-ca37d1a45186\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\"}},\"displayAt\":3}},\"override\":{\"autoplay\":true,\"loop\":false,\"showBookmarksmenuOnLoad\":false,\"showRewind10\":false,\"preventSkipping\":false,\"deactivateSound\":false,\"startVideoAt\":37},\"l10n\":{\"interaction\":\"Interaction\",\"play\":\"Play\",\"pause\":\"Pause\",\"mute\":\"Mute\",\"unmute\":\"Unmute\",\"quality\":\"Video Quality\",\"captions\":\"Captions\",\"close\":\"Close\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit Fullscreen\",\"summary\":\"Open summary dialog\",\"bookmarks\":\"Bookmarks\",\"endscreen\":\"Submit screen\",\"defaultAdaptivitySeekLabel\":\"Continue\",\"continueWithVideo\":\"Continue with video\",\"playbackRate\":\"Playback Rate\",\"rewind10\":\"Rewind 10 Seconds\",\"navDisabled\":\"Navigation is disabled\",\"sndDisabled\":\"Sound is disabled\",\"requiresCompletionWarning\":\"You need to answer all the questions correctly before continuing.\",\"back\":\"Back\",\"hours\":\"Hours\",\"minutes\":\"Minutes\",\"seconds\":\"Seconds\",\"currentTime\":\"Current time:\",\"totalTime\":\"Total time:\",\"singleInteractionAnnouncement\":\"Interaction appeared:\",\"multipleInteractionsAnnouncement\":\"Multiple interactions appeared.\",\"videoPausedAnnouncement\":\"Video is paused\",\"content\":\"Content\",\"answered\":\"@answered answered\",\"endcardTitle\":\"@answered Question(s) answered\",\"endcardInformation\":\"You have answered @answered questions, click below to submit your answers.\",\"endcardInformationNoAnswers\":\"You have not answered any questions.\",\"endcardInformationMustHaveAnswer\":\"You have to answer at least one question before you can submit your answers.\",\"endcardSubmitButton\":\"Submit Answers\",\"endcardSubmitMessage\":\"Your answers have been submitted!\",\"endcardTableRowAnswered\":\"Answered questions\",\"endcardTableRowScore\":\"Score\",\"endcardAnsweredScore\":\"answered\",\"endCardTableRowSummaryWithScore\":\"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\"endCardTableRowSummaryWithoutScore\":\"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\"}}",
"slug": "understanding-gear-effect-equipment-and-tech-18birdies",
"embed_type": "div",
"disable": 9,
"content_type": null,
"authors": null,
"source": null,
"year_from": null,
"year_to": null,
"license": "U",
"license_version": null,
"license_extras": null,
"author_comments": null,
"changes": null,
"default_language": null
},
"is_public": false,
"created_at": null,
"updated_at": null
},
{
"id": 5,
"playlist_id": 1,
"title": "The Evolution of the Golf Ball",
"type": "h5p",
"content": "",
"shared": false,
"order": 5,
"thumb_url": null,
"subject_id": null,
"education_level_id": null,
"h5p_content": {
"id": 66,
"created_at": "2020-04-30T23:58:44.000000Z",
"updated_at": "2020-04-30T23:58:44.000000Z",
"user_id": 1,
"title": "The Evolution of the Golf Ball",
"library_id": 61,
"parameters": "{\"timeline\":{\"defaultZoomLevel\":\"0\",\"height\":600,\"asset\":{},\"date\":[{\"asset\":{\"thumbnail\":{\"path\":\"images/thumbnail-5eab648fb61c9.jpeg#tmp\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":234,\"height\":216}},\"startDate\":\"1400\",\"endDate\":\"2020\",\"headline\":\"Origins of Golf\",\"text\":\"<p>Golf is recorded in its first recognizable form in the Eastern Coast of Scotland.</p>\\n\"},{\"asset\":{\"thumbnail\":{\"path\":\"images/thumbnail-5eab64e26de00.jpg#tmp\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":475,\"height\":222}},\"startDate\":\"1600\",\"headline\":\"Wood Golf Balls\",\"text\":\"<p>The first known golf ball was made out of wood, most likely beech, boxroot and similar hardwoods. Wooden clubs were the golf club of choice, which in conjunction with the wood balls would have made your friendly game of golf a rather jarring experience.</p>\\n\"},{\"asset\":{\"thumbnail\":{\"path\":\"images/thumbnail-5eab652f19393.png#tmp\",\"mime\":\"image/png\",\"copyright\":{\"license\":\"U\"},\"width\":1128,\"height\":1096}},\"startDate\":\"1618\",\"headline\":\"Feathery Golf Balls\",\"text\":\"<p>The first \\\"real\\\" golf ball was known as a \\\"feathery\\\"golf ball. Basically, the feathery was a leather sack filled with boiled goose feathers, then stitched up and painted. Feathery golf balls were expensive to make easily damaged and only the privileged few could afford to use them. </p>\\n\\n<p>It was made of cow or horsehide which was stuffed with feathers; most often goose feather. The leather, in order to be easier to work with, was soaked in water. The feathers that were forced into the ball by using a specially designed crutch-handled filling rod were soaked as well. </p>\\n\\n<p>After the ball was carefully hand sewn together, it was left to dry. While the leather shrank, the feathers expanded, which made the ball very hard and compact. </p>\\n\\n<p>Interestingly, the featherie also had excellent flight characteristics as it could reach a distance of up to 175 yards; although the longest recorded distance is more than 361 yards.<br>\\n </p>\\n\"},{\"asset\":{\"thumbnail\":{\"path\":\"images/thumbnail-5eab658fa6bde.jpg#tmp\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":1350,\"height\":759},\"media\":\"https://images.app.goo.gl/MFHFL1dtDiyR5nGq7\"},\"startDate\":\"1848\",\"headline\":\"Cost of Golf Balls\",\"text\":\"<p>In the mid-19th century, most people could only dream of playing golf. There were at the time fewer than 20 golf clubs around the world, with just three being outside Scotland. But that was not the only thing that prevented most people from playing golf. The high cost of golf essentials, especially of golf balls, made the game pretty much inaccessible to ordinary people.31 But that was soon about to change...<br>\\n </p>\\n\"},{\"asset\":{\"thumbnail\":{\"path\":\"images/thumbnail-5eab65cbe1adb.png#tmp\",\"mime\":\"image/png\",\"copyright\":{\"license\":\"U\"},\"width\":944,\"height\":890}},\"startDate\":\"1848\",\"endDate\":\"1890\",\"headline\":\"Gutty Golf Balls\",\"text\":\"<p>It wasn't until 1848 that Rev. Dr. Robert Adams began creating golf balls out of Gutta Percha \\\"Gutty\\\". The Gutty golf ball was created from the dried sap of the Sapodilla tree. It had a rubber-like feel and was formed into ball shapes by heating it up and shaping it while hot. </p>\\n\\n<p>The arrival of the gutta percha ball or \\\"gutty\\\", as it was called, revolutionized the game of golf and allowed its spread to the masses due to its affordability, playability and durability.</p>\\n\"},{\"asset\":{},\"startDate\":\"1899\",\"headline\":\"Hand Hammered Gutta Ball\",\"text\":\"<p>American businessman and inventor Coburn Haskell (1868-1922) got a (joint) patent from the United States Patent Office for the rubber-wound ball47 which would soon lead to another revolution in golf. Widely regarded as the first modern golf ball, Haskell\\u2019s ball was made of a solid rubber-wound core that was covered by guttapercha.</p>\\n\"}],\"language\":\"en\",\"headline\":\"The Evolution of the Golf Ball\",\"text\":\"<div>A golf ball is central to the game of golf. In fact, golf is all about the ball. Well, getting it into the hole in the ground!</div>\\n\",\"backgroundImage\":{\"path\":\"images/backgroundImage-5eab633e2e935.jpg#tmp\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":2139,\"height\":1179}}}",
"filtered": "{\"timeline\":{\"defaultZoomLevel\":\"0\",\"height\":600,\"asset\":{},\"date\":[{\"asset\":{\"thumbnail\":{\"path\":\"images/thumbnail-5eab648fb61c9.jpeg\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":234,\"height\":216}},\"startDate\":\"1400\",\"endDate\":\"2020\",\"headline\":\"Origins of Golf\",\"text\":\"<p>Golf is recorded in its first recognizable form in the Eastern Coast of Scotland.</p>\\n\"},{\"asset\":{\"thumbnail\":{\"path\":\"images/thumbnail-5eab64e26de00.jpg\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":475,\"height\":222}},\"startDate\":\"1600\",\"headline\":\"Wood Golf Balls\",\"text\":\"<p>The first known golf ball was made out of wood, most likely beech, boxroot and similar hardwoods. Wooden clubs were the golf club of choice, which in conjunction with the wood balls would have made your friendly game of golf a rather jarring experience.</p>\\n\"},{\"asset\":{\"thumbnail\":{\"path\":\"images/thumbnail-5eab652f19393.png\",\"mime\":\"image/png\",\"copyright\":{\"license\":\"U\"},\"width\":1128,\"height\":1096}},\"startDate\":\"1618\",\"headline\":\"Feathery Golf Balls\",\"text\":\"<p>The first \\\"real\\\" golf ball was known as a \\\"feathery\\\"golf ball. Basically, the feathery was a leather sack filled with boiled goose feathers, then stitched up and painted. Feathery golf balls were expensive to make easily damaged and only the privileged few could afford to use them. </p>\\n\\n<p>It was made of cow or horsehide which was stuffed with feathers; most often goose feather. The leather, in order to be easier to work with, was soaked in water. The feathers that were forced into the ball by using a specially designed crutch-handled filling rod were soaked as well. </p>\\n\\n<p>After the ball was carefully hand sewn together, it was left to dry. While the leather shrank, the feathers expanded, which made the ball very hard and compact. </p>\\n\\n<p>Interestingly, the featherie also had excellent flight characteristics as it could reach a distance of up to 175 yards; although the longest recorded distance is more than 361 yards.<br>\\n </p>\\n\"},{\"asset\":{\"thumbnail\":{\"path\":\"images/thumbnail-5eab658fa6bde.jpg\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":1350,\"height\":759},\"media\":\"https://images.app.goo.gl/MFHFL1dtDiyR5nGq7\"},\"startDate\":\"1848\",\"headline\":\"Cost of Golf Balls\",\"text\":\"<p>In the mid-19th century, most people could only dream of playing golf. There were at the time fewer than 20 golf clubs around the world, with just three being outside Scotland. But that was not the only thing that prevented most people from playing golf. The high cost of golf essentials, especially of golf balls, made the game pretty much inaccessible to ordinary people.31 But that was soon about to change...<br>\\n </p>\\n\"},{\"asset\":{\"thumbnail\":{\"path\":\"images/thumbnail-5eab65cbe1adb.png\",\"mime\":\"image/png\",\"copyright\":{\"license\":\"U\"},\"width\":944,\"height\":890}},\"startDate\":\"1848\",\"endDate\":\"1890\",\"headline\":\"Gutty Golf Balls\",\"text\":\"<p>It wasn't until 1848 that Rev. Dr. Robert Adams began creating golf balls out of Gutta Percha \\\"Gutty\\\". The Gutty golf ball was created from the dried sap of the Sapodilla tree. It had a rubber-like feel and was formed into ball shapes by heating it up and shaping it while hot. </p>\\n\\n<p>The arrival of the gutta percha ball or \\\"gutty\\\", as it was called, revolutionized the game of golf and allowed its spread to the masses due to its affordability, playability and durability.</p>\\n\"},{\"asset\":{},\"startDate\":\"1899\",\"headline\":\"Hand Hammered Gutta Ball\",\"text\":\"<p>American businessman and inventor Coburn Haskell (1868-1922) got a (joint) patent from the United States Patent Office for the rubber-wound ball47 which would soon lead to another revolution in golf. Widely regarded as the first modern golf ball, Haskell\\u2019s ball was made of a solid rubber-wound core that was covered by guttapercha.</p>\\n\"}],\"language\":\"en\",\"headline\":\"The Evolution of the Golf Ball\",\"text\":\"<div>A golf ball is central to the game of golf. In fact, golf is all about the ball. Well, getting it into the hole in the ground!</div>\\n\",\"backgroundImage\":{\"path\":\"images/backgroundImage-5eab633e2e935.jpg\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":2139,\"height\":1179}}}",
"slug": "the-evolution-of-the-golf-ball",
"embed_type": "div",
"disable": 9,
"content_type": null,
"authors": null,
"source": null,
"year_from": null,
"year_to": null,
"license": "U",
"license_version": null,
"license_extras": null,
"author_comments": null,
"changes": null,
"default_language": null
},
"is_public": false,
"created_at": null,
"updated_at": null
},
{
"id": 7,
"playlist_id": 1,
"title": "Famous Golf Holes",
"type": "h5p",
"content": "",
"shared": false,
"order": 6,
"thumb_url": null,
"subject_id": null,
"education_level_id": null,
"h5p_content": {
"id": 76,
"created_at": "2020-05-01T05:20:54.000000Z",
"updated_at": "2020-05-01T05:20:54.000000Z",
"user_id": 1,
"title": "Famous Golf Holes",
"library_id": 60,
"parameters": "{\"cards\":[{\"answer\":\"7th Hole at Pebble Beach\",\"image\":{\"path\":\"images/image-5eabad2e71b62.jpg#tmp\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":991,\"height\":500},\"tip\":\"<p>Mickey Mantle<br>\\nAT&T Pro Am</p>\\n\"},{\"answer\":\"12th hole at Augusta National\",\"image\":{\"path\":\"images/image-5eabae675c197.jpg#tmp\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":847,\"height\":467},\"tip\":\"\"},{\"answer\":\"7th hole at TPC Sawgrass\",\"image\":{\"path\":\"images/image-5eabaec199254.jpg#tmp\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":1024,\"height\":570},\"tip\":\"\"},{\"answer\":\"The Old Course at St Andrews, #18\",\"image\":{\"path\":\"images/image-5eabafb2400f7.jpg#tmp\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":475,\"height\":367},\"tip\":\"\"},{\"answer\":\"Pine Valley Golf Club, #18\",\"image\":{\"path\":\"images/image-5eabb0ced23c3.jpg#tmp\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":960,\"height\":640},\"tip\":\"\"},{\"answer\":\"Celebrity Course - Indian Wells Golf Resort, #14\",\"image\":{\"path\":\"images/image-5eabb17c9a715.jpg#tmp\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":780,\"height\":490},\"tip\":\"\"}],\"progressText\":\"Card @card of @total\",\"next\":\"Next\",\"previous\":\"Previous\",\"checkAnswerText\":\"Check\",\"showSolutionsRequiresInput\":true,\"defaultAnswerText\":\"Your answer\",\"correctAnswerText\":\"Correct\",\"incorrectAnswerText\":\"Incorrect\",\"showSolutionText\":\"Correct answer\",\"results\":\"Results\",\"ofCorrect\":\"@score of @total correct\",\"showResults\":\"Show results\",\"answerShortText\":\"A:\",\"retry\":\"Retry\",\"caseSensitive\":false,\"cardAnnouncement\":\"Incorrect answer. Correct answer was @answer\",\"pageAnnouncement\":\"Page @current of @total\",\"description\":\"Match the Hole with the Course\"}",
"filtered": "{\"cards\":[{\"answer\":\"7th Hole at Pebble Beach\",\"image\":{\"path\":\"images/image-5eabad2e71b62.jpg\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":991,\"height\":500},\"tip\":\"<p>Mickey Mantle<br>\\nAT&T Pro Am</p>\\n\"},{\"answer\":\"12th hole at Augusta National\",\"image\":{\"path\":\"images/image-5eabae675c197.jpg\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":847,\"height\":467},\"tip\":\"\"},{\"answer\":\"7th hole at TPC Sawgrass\",\"image\":{\"path\":\"images/image-5eabaec199254.jpg\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":1024,\"height\":570},\"tip\":\"\"},{\"answer\":\"The Old Course at St Andrews, #18\",\"image\":{\"path\":\"images/image-5eabafb2400f7.jpg\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":475,\"height\":367},\"tip\":\"\"},{\"answer\":\"Pine Valley Golf Club, #18\",\"image\":{\"path\":\"images/image-5eabb0ced23c3.jpg\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":960,\"height\":640},\"tip\":\"\"},{\"answer\":\"Celebrity Course - Indian Wells Golf Resort, #14\",\"image\":{\"path\":\"images/image-5eabb17c9a715.jpg\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":780,\"height\":490},\"tip\":\"\"}],\"progressText\":\"Card @card of @total\",\"next\":\"Next\",\"previous\":\"Previous\",\"checkAnswerText\":\"Check\",\"showSolutionsRequiresInput\":true,\"defaultAnswerText\":\"Your answer\",\"correctAnswerText\":\"Correct\",\"incorrectAnswerText\":\"Incorrect\",\"showSolutionText\":\"Correct answer\",\"results\":\"Results\",\"ofCorrect\":\"@score of @total correct\",\"showResults\":\"Show results\",\"answerShortText\":\"A:\",\"retry\":\"Retry\",\"caseSensitive\":false,\"cardAnnouncement\":\"Incorrect answer. Correct answer was @answer\",\"pageAnnouncement\":\"Page @current of @total\",\"description\":\"Match the Hole with the Course\"}",
"slug": "famous-golf-holes",
"embed_type": "div",
"disable": 9,
"content_type": null,
"authors": null,
"source": null,
"year_from": null,
"year_to": null,
"license": "U",
"license_version": null,
"license_extras": null,
"author_comments": null,
"changes": null,
"default_language": null
},
"is_public": false,
"created_at": null,
"updated_at": null
}
],
"created_at": null,
"updated_at": null
}
}
Received response:
Request failed with error:
Clone Stand Alone Activity
Clone the specified activity of a user.
Example request:
curl --request POST \
"http://localhost:8000/api/v1/suborganizations/1/stand-alone-activity/761/clone" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/suborganizations/1/stand-alone-activity/761/clone"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/suborganizations/1/stand-alone-activity/761/clone',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "Activity is being cloned|duplicated in background!"
}
Example response (400):
{
"errors": [
"Not a Public Activity."
]
}
Example response (500):
{
"errors": [
"Failed to clone activity."
]
}
Received response:
Request failed with error:
Get H5P Resource Settings (Shared)
Get H5P Resource Settings for a shared activity
6. Independent Activity
APIs for independent activity management
Get Independent Activities
Get a list of independent activities
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/suborganization/1/independent-activities" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"query\": \"Video\",
\"indexing\": \"3\",
\"shared\": true,
\"created_from\": \"2022-12-01\",
\"created_to\": \"2022-12-01\",
\"updated_from\": \"2022-12-01\",
\"updated_to\": \"2022-12-01\",
\"author_id\": 18,
\"order_by_column\": \"title\",
\"order_by_type\": \"asc\",
\"size\": 10
}"
const url = new URL(
"http://localhost:8000/api/v1/suborganization/1/independent-activities"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"query": "Video",
"indexing": "3",
"shared": true,
"created_from": "2022-12-01",
"created_to": "2022-12-01",
"updated_from": "2022-12-01",
"updated_to": "2022-12-01",
"author_id": 18,
"order_by_column": "title",
"order_by_type": "asc",
"size": 10
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/suborganization/1/independent-activities',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'query' => 'Video',
'indexing' => '3',
'shared' => true,
'created_from' => '2022-12-01',
'created_to' => '2022-12-01',
'updated_from' => '2022-12-01',
'updated_to' => '2022-12-01',
'author_id' => 18,
'order_by_column' => 'title',
'order_by_type' => 'asc',
'size' => 10,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": [
{
"id": 7,
"title": "title",
"type": "h5p",
"content": "place_holder",
"description": null,
"shared": false,
"order": 0,
"thumb_url": null,
"created_at": "2022-04-28T01:03:22.000000Z",
"updated_at": "2022-04-28T01:03:22.000000Z",
"gcr_activity_visibility": false,
"subjects": [
{
"id": 1,
"name": "Arts",
"order": null,
"organization_id": 63,
"created_at": "2022-04-21T12:41:25.000000Z",
"updated_at": null
}
],
"education_levels": [
{
"id": 1,
"name": "Preschool (Ages 0-4)",
"order": null,
"organization_id": 63,
"created_at": "2022-04-20T17:33:20.000000Z",
"updated_at": null
}
],
"author_tags": [
{
"id": 1,
"name": "Homework/Assignment",
"order": null,
"organization_id": 63,
"created_at": "2022-04-20T17:38:02.000000Z",
"updated_at": null
}
],
"source_type": null,
"source_url": null,
"organization_visibility_type_id": 1,
"status": 1,
"status_text": "DRAFT",
"indexing": null,
"indexing_text": "NOT REQUESTED",
"user": {
"id": 3,
"name": "Abby _",
"email": "abby@curriki.org",
"email_verified_at": "2020-09-11T23:52:44.000000Z",
"created_at": "2020-04-06T20:47:21.000000Z",
"updated_at": "2021-05-03T19:24:58.000000Z",
"first_name": "Abby",
"last_name": "_",
"organization_name": "",
"job_title": "",
"address": null,
"phone_number": null,
"organization_type": null,
"website": null,
"deleted_at": null,
"role": null,
"gapi_access_token": "{\"token_type\":\"Bearer\",\"access_token\":\"ya29.a0AfH6SMA9EL2ZjzTyPOIv3cgdm7VZ6JHJ3WHgqaaYZJY4X5mKhq417RjMKiCOS36tu1E3sOwNALtVBTamNE_XyNLeDak-xZuU4lAtLV1Ap0Gi19AN10vpj5Sg57AJ3KgrT4G3THYkGF3y0BZ4r38QhdAvydlpkfn_KwCZBQ\",\"scope\":\"email profile https:\\/\\/www.googleapis.com\\/auth\\/classroom.courses openid https:\\/\\/www.googleapis.com\\/auth\\/classroom.courses.readonly https:\\/\\/www.googleapis.com\\/auth\\/userinfo.email https:\\/\\/www.googleapis.com\\/auth\\/classroom.topics https:\\/\\/www.googleapis.com\\/auth\\/classroom.coursework.me https:\\/\\/www.googleapis.com\\/auth\\/classroom.coursework.students https:\\/\\/www.googleapis.com\\/auth\\/userinfo.profile\",\"login_hint\":\"AJDLj6LgfEhLCFgVLEzicO4eYW1YOkD2Ocu__Xw4RutMMX9v-B-BEo_pAMXjGBSn6gx8S9fToe9FpA7M_OwrbGosxzx3LBuA28SCV2kIKwPd_qmJ2ctCRP4\",\"expires_in\":3599,\"id_token\":\"eyJhbGciOiJSUzI1NiIsImtpZCI6IjRiODNmMTgwMjNhODU1NTg3Zjk0MmU3NTEwMjI1MTEyMDg4N2Y3MjUiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJhY2NvdW50cy5nb29nbGUuY29tIiwiYXpwIjoiODk4MTQzOTM5ODM0LTlpb3VpMmk5Z2hncm1jZ21ndGcwaDZyc2Y4M2QwdDBjLmFwcHMuZ29vZ2xldXNlcmNvbnRlbnQuY29tIiwiYXVkIjoiODk4MTQzOTM5ODM0LTlpb3VpMmk5Z2hncm1jZ21ndGcwaDZyc2Y4M2QwdDBjLmFwcHMuZ29vZ2xldXNlcmNvbnRlbnQuY29tIiwic3ViIjoiMTE0MzA3NzE2NTQwNTMzODE4OTQzIiwiaGQiOiJjdXJyaWtpLm9yZyIsImVtYWlsIjoiYWJieUBjdXJyaWtpLm9yZyIsImVtYWlsX3ZlcmlmaWVkIjp0cnVlLCJhdF9oYXNoIjoiSXBlejh3cm5uUmU3Y3p6U1NidFlJdyIsIm5hbWUiOiJBYmJ5IFJvc3MiLCJwaWN0dXJlIjoiaHR0cHM6Ly9saDMuZ29vZ2xldXNlcmNvbnRlbnQuY29tL2EtL0FPaDE0R2cwYUVyeDRwUE1ZOVRPQXJiZ01KX3ZybHdsSzB6SEdBNVp3dFlVPXM5Ni1jIiwiZ2l2ZW5fbmFtZSI6IkFiYnkiLCJmYW1pbHlfbmFtZSI6IlJvc3MiLCJsb2NhbGUiOiJlbiIsImlhdCI6MTYwMDM3NDQ4NywiZXhwIjoxNjAwMzc4MDg3LCJqdGkiOiI3NmUzNjU5M2I1NWEwYjhkMDBlZDZiODRmMmFmMmRiZmVkNDFhN2RhIn0.i9YToGr1CNLtk6zHX2f6dmP4PGB5ibyxFOFisPRvxe1YZvenGpyEh3MlSMkURvHzo2RGmYGkdhpJYHtn2b_TOqbsNsx61DUE4BTME5O_4-VcR-c_YDYFn6K3MpsrYLbSxDKTgdSJbA56B8-s726QzcFEixkU5mtaK5gbO4Zb32U94qF1_ziJ5XcEtaJt1kBY8oY15d3ubXJl-zLyh-fB9K4mqssqqWABbLAtJQycfx5x-9ks6iVHYXq-_tdnfadm7HBYROlcYzKc7VJkOAP5z-e05Zqx9C1NUXpW_-gFwiHazbC7_N_-UihSej2m3qULtIdgZMtT6fid4_LftXc38Q\",\"session_state\":{\"extraQueryParams\":{\"authuser\":\"1\"}},\"first_issued_at\":1600374485776,\"expires_at\":1600378084776,\"idpId\":\"google\"}",
"hubspot": true,
"subscribed": true,
"subscribed_ip": "192.168.96.10",
"membership_type_id": 2,
"temp_password": null
},
"h5p_content": null
},
{
"id": 6,
"title": "title",
"type": "h5p",
"content": "place_holder",
"description": null,
"shared": false,
"order": 1,
"thumb_url": null,
"created_at": "2022-04-28T00:33:33.000000Z",
"updated_at": "2022-05-19T12:16:05.000000Z",
"gcr_activity_visibility": false,
"subjects": [],
"education_levels": [],
"author_tags": [],
"source_type": null,
"source_url": null,
"organization_visibility_type_id": 4,
"status": 2,
"status_text": "FINISHED",
"indexing": 1,
"indexing_text": "REQUESTED",
"user": {
"id": 3,
"name": "Abby _",
"email": "abby@curriki.org",
"email_verified_at": "2020-09-11T23:52:44.000000Z",
"created_at": "2020-04-06T20:47:21.000000Z",
"updated_at": "2021-05-03T19:24:58.000000Z",
"first_name": "Abby",
"last_name": "_",
"organization_name": "",
"job_title": "",
"address": null,
"phone_number": null,
"organization_type": null,
"website": null,
"deleted_at": null,
"role": null,
"gapi_access_token": "{\"token_type\":\"Bearer\",\"access_token\":\"ya29.a0AfH6SMA9EL2ZjzTyPOIv3cgdm7VZ6JHJ3WHgqaaYZJY4X5mKhq417RjMKiCOS36tu1E3sOwNALtVBTamNE_XyNLeDak-xZuU4lAtLV1Ap0Gi19AN10vpj5Sg57AJ3KgrT4G3THYkGF3y0BZ4r38QhdAvydlpkfn_KwCZBQ\",\"scope\":\"email profile https:\\/\\/www.googleapis.com\\/auth\\/classroom.courses openid https:\\/\\/www.googleapis.com\\/auth\\/classroom.courses.readonly https:\\/\\/www.googleapis.com\\/auth\\/userinfo.email https:\\/\\/www.googleapis.com\\/auth\\/classroom.topics https:\\/\\/www.googleapis.com\\/auth\\/classroom.coursework.me https:\\/\\/www.googleapis.com\\/auth\\/classroom.coursework.students https:\\/\\/www.googleapis.com\\/auth\\/userinfo.profile\",\"login_hint\":\"AJDLj6LgfEhLCFgVLEzicO4eYW1YOkD2Ocu__Xw4RutMMX9v-B-BEo_pAMXjGBSn6gx8S9fToe9FpA7M_OwrbGosxzx3LBuA28SCV2kIKwPd_qmJ2ctCRP4\",\"expires_in\":3599,\"id_token\":\"eyJhbGciOiJSUzI1NiIsImtpZCI6IjRiODNmMTgwMjNhODU1NTg3Zjk0MmU3NTEwMjI1MTEyMDg4N2Y3MjUiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJhY2NvdW50cy5nb29nbGUuY29tIiwiYXpwIjoiODk4MTQzOTM5ODM0LTlpb3VpMmk5Z2hncm1jZ21ndGcwaDZyc2Y4M2QwdDBjLmFwcHMuZ29vZ2xldXNlcmNvbnRlbnQuY29tIiwiYXVkIjoiODk4MTQzOTM5ODM0LTlpb3VpMmk5Z2hncm1jZ21ndGcwaDZyc2Y4M2QwdDBjLmFwcHMuZ29vZ2xldXNlcmNvbnRlbnQuY29tIiwic3ViIjoiMTE0MzA3NzE2NTQwNTMzODE4OTQzIiwiaGQiOiJjdXJyaWtpLm9yZyIsImVtYWlsIjoiYWJieUBjdXJyaWtpLm9yZyIsImVtYWlsX3ZlcmlmaWVkIjp0cnVlLCJhdF9oYXNoIjoiSXBlejh3cm5uUmU3Y3p6U1NidFlJdyIsIm5hbWUiOiJBYmJ5IFJvc3MiLCJwaWN0dXJlIjoiaHR0cHM6Ly9saDMuZ29vZ2xldXNlcmNvbnRlbnQuY29tL2EtL0FPaDE0R2cwYUVyeDRwUE1ZOVRPQXJiZ01KX3ZybHdsSzB6SEdBNVp3dFlVPXM5Ni1jIiwiZ2l2ZW5fbmFtZSI6IkFiYnkiLCJmYW1pbHlfbmFtZSI6IlJvc3MiLCJsb2NhbGUiOiJlbiIsImlhdCI6MTYwMDM3NDQ4NywiZXhwIjoxNjAwMzc4MDg3LCJqdGkiOiI3NmUzNjU5M2I1NWEwYjhkMDBlZDZiODRmMmFmMmRiZmVkNDFhN2RhIn0.i9YToGr1CNLtk6zHX2f6dmP4PGB5ibyxFOFisPRvxe1YZvenGpyEh3MlSMkURvHzo2RGmYGkdhpJYHtn2b_TOqbsNsx61DUE4BTME5O_4-VcR-c_YDYFn6K3MpsrYLbSxDKTgdSJbA56B8-s726QzcFEixkU5mtaK5gbO4Zb32U94qF1_ziJ5XcEtaJt1kBY8oY15d3ubXJl-zLyh-fB9K4mqssqqWABbLAtJQycfx5x-9ks6iVHYXq-_tdnfadm7HBYROlcYzKc7VJkOAP5z-e05Zqx9C1NUXpW_-gFwiHazbC7_N_-UihSej2m3qULtIdgZMtT6fid4_LftXc38Q\",\"session_state\":{\"extraQueryParams\":{\"authuser\":\"1\"}},\"first_issued_at\":1600374485776,\"expires_at\":1600378084776,\"idpId\":\"google\"}",
"hubspot": true,
"subscribed": true,
"subscribed_ip": "192.168.96.10",
"membership_type_id": 2,
"temp_password": null
},
"h5p_content": null
}
}
Received response:
Request failed with error:
Create Independent Activity
Create a new independent activity.
Example request:
curl --request POST \
"http://localhost:8000/api/v1/suborganization/1/independent-activities" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"title\": \"Science of Golf: Why Balls Have Dimples\",
\"type\": \"h5p\",
\"content\": \"nihil\",
\"description\": \"dntotffxowszyxvytqymkjuueoombnmijidjitbcwedlycldzaumukialsmyicalvzrheiobsilwvncippiewbsihgzrketdblbtgqvytoohrrcwcgslfybtyowztahbztccesokcuptfgrjfnibyesvmsygninzmmnqphlldtcedwttugcswtpsutuemxvsfwaxdmepmqwsvynshszelipwnraphixlhwczdedvawvopzrjivvstkjotnyxycmpcpvdvaaqlgzjraptivnwbuozojpzfrlrrdrzbvsuwbbcdxhuiqsbolwmtneukfejqhnnznzkbroqindgbxaqyqlygmvpepbyeqoyzfnm\",
\"order\": 2,
\"shared\": true,
\"h5p_content_id\": 59,
\"thumb_url\": \"null\",
\"subject_id\": [
1,
2
],
\"education_level_id\": [
1,
2
],
\"author_tag_id\": [
1,
2
],
\"source_type\": \"expedita\",
\"source_url\": \"voluptas\",
\"organization_visibility_type_id\": 1
}"
const url = new URL(
"http://localhost:8000/api/v1/suborganization/1/independent-activities"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"title": "Science of Golf: Why Balls Have Dimples",
"type": "h5p",
"content": "nihil",
"description": "dntotffxowszyxvytqymkjuueoombnmijidjitbcwedlycldzaumukialsmyicalvzrheiobsilwvncippiewbsihgzrketdblbtgqvytoohrrcwcgslfybtyowztahbztccesokcuptfgrjfnibyesvmsygninzmmnqphlldtcedwttugcswtpsutuemxvsfwaxdmepmqwsvynshszelipwnraphixlhwczdedvawvopzrjivvstkjotnyxycmpcpvdvaaqlgzjraptivnwbuozojpzfrlrrdrzbvsuwbbcdxhuiqsbolwmtneukfejqhnnznzkbroqindgbxaqyqlygmvpepbyeqoyzfnm",
"order": 2,
"shared": true,
"h5p_content_id": 59,
"thumb_url": "null",
"subject_id": [
1,
2
],
"education_level_id": [
1,
2
],
"author_tag_id": [
1,
2
],
"source_type": "expedita",
"source_url": "voluptas",
"organization_visibility_type_id": 1
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/suborganization/1/independent-activities',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'title' => 'Science of Golf: Why Balls Have Dimples',
'type' => 'h5p',
'content' => 'nihil',
'description' => 'dntotffxowszyxvytqymkjuueoombnmijidjitbcwedlycldzaumukialsmyicalvzrheiobsilwvncippiewbsihgzrketdblbtgqvytoohrrcwcgslfybtyowztahbztccesokcuptfgrjfnibyesvmsygninzmmnqphlldtcedwttugcswtpsutuemxvsfwaxdmepmqwsvynshszelipwnraphixlhwczdedvawvopzrjivvstkjotnyxycmpcpvdvaaqlgzjraptivnwbuozojpzfrlrrdrzbvsuwbbcdxhuiqsbolwmtneukfejqhnnznzkbroqindgbxaqyqlygmvpepbyeqoyzfnm',
'order' => 2,
'shared' => true,
'h5p_content_id' => 59,
'thumb_url' => 'null',
'subject_id' => [
1,
2,
],
'education_level_id' => [
1,
2,
],
'author_tag_id' => [
1,
2,
],
'source_type' => 'expedita',
'source_url' => 'voluptas',
'organization_visibility_type_id' => 1,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (500):
{
"errors": [
"Could not create independent activity. Please try again later."
]
}
Example response (201):
{
"independent-activity": {
"id": 9,
"title": "title",
"type": "h5p",
"content": "content",
"description": null,
"shared": null,
"order": 0,
"thumb_url": null,
"created_at": "2022-06-16T05:28:25.000000Z",
"updated_at": "2022-06-16T05:28:25.000000Z",
"gcr_activity_visibility": false,
"subjects": [
{
"id": 1,
"name": "Arts",
"order": null,
"organization_id": 63,
"created_at": "2022-04-21T12:41:25.000000Z",
"updated_at": null
}
],
"education_levels": [
{
"id": 1,
"name": "Preschool (Ages 0-4)",
"order": null,
"organization_id": 63,
"created_at": "2022-04-20T17:33:20.000000Z",
"updated_at": null
}
],
"author_tags": [
{
"id": 1,
"name": "Homework/Assignment",
"order": null,
"organization_id": 63,
"created_at": "2022-04-20T17:38:02.000000Z",
"updated_at": null
}
],
"source_type": null,
"source_url": null,
"organization_visibility_type_id": "1",
"status": null,
"status_text": null,
"indexing": null,
"indexing_text": "NOT REQUESTED",
"user": {
"id": 3,
"name": "Abby _",
"email": "abby@curriki.org",
"email_verified_at": "2020-09-11T23:52:44.000000Z",
"created_at": "2020-04-06T20:47:21.000000Z",
"updated_at": "2021-05-03T19:24:58.000000Z",
"first_name": "Abby",
"last_name": "_",
"organization_name": "",
"job_title": "",
"address": null,
"phone_number": null,
"organization_type": null,
"website": null,
"deleted_at": null,
"role": null,
"gapi_access_token": "{\"token_type\":\"Bearer\",\"access_token\":\"ya29.a0AfH6SMA9EL2ZjzTyPOIv3cgdm7VZ6JHJ3WHgqaaYZJY4X5mKhq417RjMKiCOS36tu1E3sOwNALtVBTamNE_XyNLeDak-xZuU4lAtLV1Ap0Gi19AN10vpj5Sg57AJ3KgrT4G3THYkGF3y0BZ4r38QhdAvydlpkfn_KwCZBQ\",\"scope\":\"email profile https:\\/\\/www.googleapis.com\\/auth\\/classroom.courses openid https:\\/\\/www.googleapis.com\\/auth\\/classroom.courses.readonly https:\\/\\/www.googleapis.com\\/auth\\/userinfo.email https:\\/\\/www.googleapis.com\\/auth\\/classroom.topics https:\\/\\/www.googleapis.com\\/auth\\/classroom.coursework.me https:\\/\\/www.googleapis.com\\/auth\\/classroom.coursework.students https:\\/\\/www.googleapis.com\\/auth\\/userinfo.profile\",\"login_hint\":\"AJDLj6LgfEhLCFgVLEzicO4eYW1YOkD2Ocu__Xw4RutMMX9v-B-BEo_pAMXjGBSn6gx8S9fToe9FpA7M_OwrbGosxzx3LBuA28SCV2kIKwPd_qmJ2ctCRP4\",\"expires_in\":3599,\"id_token\":\"eyJhbGciOiJSUzI1NiIsImtpZCI6IjRiODNmMTgwMjNhODU1NTg3Zjk0MmU3NTEwMjI1MTEyMDg4N2Y3MjUiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJhY2NvdW50cy5nb29nbGUuY29tIiwiYXpwIjoiODk4MTQzOTM5ODM0LTlpb3VpMmk5Z2hncm1jZ21ndGcwaDZyc2Y4M2QwdDBjLmFwcHMuZ29vZ2xldXNlcmNvbnRlbnQuY29tIiwiYXVkIjoiODk4MTQzOTM5ODM0LTlpb3VpMmk5Z2hncm1jZ21ndGcwaDZyc2Y4M2QwdDBjLmFwcHMuZ29vZ2xldXNlcmNvbnRlbnQuY29tIiwic3ViIjoiMTE0MzA3NzE2NTQwNTMzODE4OTQzIiwiaGQiOiJjdXJyaWtpLm9yZyIsImVtYWlsIjoiYWJieUBjdXJyaWtpLm9yZyIsImVtYWlsX3ZlcmlmaWVkIjp0cnVlLCJhdF9oYXNoIjoiSXBlejh3cm5uUmU3Y3p6U1NidFlJdyIsIm5hbWUiOiJBYmJ5IFJvc3MiLCJwaWN0dXJlIjoiaHR0cHM6Ly9saDMuZ29vZ2xldXNlcmNvbnRlbnQuY29tL2EtL0FPaDE0R2cwYUVyeDRwUE1ZOVRPQXJiZ01KX3ZybHdsSzB6SEdBNVp3dFlVPXM5Ni1jIiwiZ2l2ZW5fbmFtZSI6IkFiYnkiLCJmYW1pbHlfbmFtZSI6IlJvc3MiLCJsb2NhbGUiOiJlbiIsImlhdCI6MTYwMDM3NDQ4NywiZXhwIjoxNjAwMzc4MDg3LCJqdGkiOiI3NmUzNjU5M2I1NWEwYjhkMDBlZDZiODRmMmFmMmRiZmVkNDFhN2RhIn0.i9YToGr1CNLtk6zHX2f6dmP4PGB5ibyxFOFisPRvxe1YZvenGpyEh3MlSMkURvHzo2RGmYGkdhpJYHtn2b_TOqbsNsx61DUE4BTME5O_4-VcR-c_YDYFn6K3MpsrYLbSxDKTgdSJbA56B8-s726QzcFEixkU5mtaK5gbO4Zb32U94qF1_ziJ5XcEtaJt1kBY8oY15d3ubXJl-zLyh-fB9K4mqssqqWABbLAtJQycfx5x-9ks6iVHYXq-_tdnfadm7HBYROlcYzKc7VJkOAP5z-e05Zqx9C1NUXpW_-gFwiHazbC7_N_-UihSej2m3qULtIdgZMtT6fid4_LftXc38Q\",\"session_state\":{\"extraQueryParams\":{\"authuser\":\"1\"}},\"first_issued_at\":1600374485776,\"expires_at\":1600378084776,\"idpId\":\"google\"}",
"hubspot": true,
"subscribed": true,
"subscribed_ip": "192.168.96.10",
"membership_type_id": 2,
"temp_password": null
},
"h5p_content": null
}
}
Received response:
Request failed with error:
Get Independent Activity
Get the specified independent activity.
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/suborganization/1/independent-activities/6" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/suborganization/1/independent-activities/6"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/suborganization/1/independent-activities/6',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (400):
{
"errors": [
"Invalid organization or independent activity id."
]
}
Example response (200):
{
"independent-activity": {
"id": 9,
"title": "title",
"type": "h5p",
"content": "content",
"description": null,
"shared": null,
"order": 0,
"thumb_url": null,
"created_at": "2022-06-16T05:28:25.000000Z",
"updated_at": "2022-06-16T05:28:25.000000Z",
"gcr_activity_visibility": false,
"subjects": [
{
"id": 1,
"name": "Arts",
"order": null,
"organization_id": 63,
"created_at": "2022-04-21T12:41:25.000000Z",
"updated_at": null
}
],
"education_levels": [
{
"id": 1,
"name": "Preschool (Ages 0-4)",
"order": null,
"organization_id": 63,
"created_at": "2022-04-20T17:33:20.000000Z",
"updated_at": null
}
],
"author_tags": [
{
"id": 1,
"name": "Homework/Assignment",
"order": null,
"organization_id": 63,
"created_at": "2022-04-20T17:38:02.000000Z",
"updated_at": null
}
],
"source_type": null,
"source_url": null,
"organization_visibility_type_id": "1",
"status": null,
"status_text": null,
"indexing": null,
"indexing_text": "NOT REQUESTED",
"user": {
"id": 3,
"name": "Abby _",
"email": "abby@curriki.org",
"email_verified_at": "2020-09-11T23:52:44.000000Z",
"created_at": "2020-04-06T20:47:21.000000Z",
"updated_at": "2021-05-03T19:24:58.000000Z",
"first_name": "Abby",
"last_name": "_",
"organization_name": "",
"job_title": "",
"address": null,
"phone_number": null,
"organization_type": null,
"website": null,
"deleted_at": null,
"role": null,
"gapi_access_token": "{\"token_type\":\"Bearer\",\"access_token\":\"ya29.a0AfH6SMA9EL2ZjzTyPOIv3cgdm7VZ6JHJ3WHgqaaYZJY4X5mKhq417RjMKiCOS36tu1E3sOwNALtVBTamNE_XyNLeDak-xZuU4lAtLV1Ap0Gi19AN10vpj5Sg57AJ3KgrT4G3THYkGF3y0BZ4r38QhdAvydlpkfn_KwCZBQ\",\"scope\":\"email profile https:\\/\\/www.googleapis.com\\/auth\\/classroom.courses openid https:\\/\\/www.googleapis.com\\/auth\\/classroom.courses.readonly https:\\/\\/www.googleapis.com\\/auth\\/userinfo.email https:\\/\\/www.googleapis.com\\/auth\\/classroom.topics https:\\/\\/www.googleapis.com\\/auth\\/classroom.coursework.me https:\\/\\/www.googleapis.com\\/auth\\/classroom.coursework.students https:\\/\\/www.googleapis.com\\/auth\\/userinfo.profile\",\"login_hint\":\"AJDLj6LgfEhLCFgVLEzicO4eYW1YOkD2Ocu__Xw4RutMMX9v-B-BEo_pAMXjGBSn6gx8S9fToe9FpA7M_OwrbGosxzx3LBuA28SCV2kIKwPd_qmJ2ctCRP4\",\"expires_in\":3599,\"id_token\":\"eyJhbGciOiJSUzI1NiIsImtpZCI6IjRiODNmMTgwMjNhODU1NTg3Zjk0MmU3NTEwMjI1MTEyMDg4N2Y3MjUiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJhY2NvdW50cy5nb29nbGUuY29tIiwiYXpwIjoiODk4MTQzOTM5ODM0LTlpb3VpMmk5Z2hncm1jZ21ndGcwaDZyc2Y4M2QwdDBjLmFwcHMuZ29vZ2xldXNlcmNvbnRlbnQuY29tIiwiYXVkIjoiODk4MTQzOTM5ODM0LTlpb3VpMmk5Z2hncm1jZ21ndGcwaDZyc2Y4M2QwdDBjLmFwcHMuZ29vZ2xldXNlcmNvbnRlbnQuY29tIiwic3ViIjoiMTE0MzA3NzE2NTQwNTMzODE4OTQzIiwiaGQiOiJjdXJyaWtpLm9yZyIsImVtYWlsIjoiYWJieUBjdXJyaWtpLm9yZyIsImVtYWlsX3ZlcmlmaWVkIjp0cnVlLCJhdF9oYXNoIjoiSXBlejh3cm5uUmU3Y3p6U1NidFlJdyIsIm5hbWUiOiJBYmJ5IFJvc3MiLCJwaWN0dXJlIjoiaHR0cHM6Ly9saDMuZ29vZ2xldXNlcmNvbnRlbnQuY29tL2EtL0FPaDE0R2cwYUVyeDRwUE1ZOVRPQXJiZ01KX3ZybHdsSzB6SEdBNVp3dFlVPXM5Ni1jIiwiZ2l2ZW5fbmFtZSI6IkFiYnkiLCJmYW1pbHlfbmFtZSI6IlJvc3MiLCJsb2NhbGUiOiJlbiIsImlhdCI6MTYwMDM3NDQ4NywiZXhwIjoxNjAwMzc4MDg3LCJqdGkiOiI3NmUzNjU5M2I1NWEwYjhkMDBlZDZiODRmMmFmMmRiZmVkNDFhN2RhIn0.i9YToGr1CNLtk6zHX2f6dmP4PGB5ibyxFOFisPRvxe1YZvenGpyEh3MlSMkURvHzo2RGmYGkdhpJYHtn2b_TOqbsNsx61DUE4BTME5O_4-VcR-c_YDYFn6K3MpsrYLbSxDKTgdSJbA56B8-s726QzcFEixkU5mtaK5gbO4Zb32U94qF1_ziJ5XcEtaJt1kBY8oY15d3ubXJl-zLyh-fB9K4mqssqqWABbLAtJQycfx5x-9ks6iVHYXq-_tdnfadm7HBYROlcYzKc7VJkOAP5z-e05Zqx9C1NUXpW_-gFwiHazbC7_N_-UihSej2m3qULtIdgZMtT6fid4_LftXc38Q\",\"session_state\":{\"extraQueryParams\":{\"authuser\":\"1\"}},\"first_issued_at\":1600374485776,\"expires_at\":1600378084776,\"idpId\":\"google\"}",
"hubspot": true,
"subscribed": true,
"subscribed_ip": "192.168.96.10",
"membership_type_id": 2,
"temp_password": null
},
"h5p_content": null
}
}
Received response:
Request failed with error:
Update Independent Activity
Update the specified independent activity.
Example request:
curl --request PUT \
"http://localhost:8000/api/v1/suborganization/1/independent-activities/11" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"title\": \"Science of Golf: Why Balls Have Dimples\",
\"type\": \"h5p\",
\"content\": \"dolor\",
\"description\": \"mqrikknukvrsdcsmofqzmqiehbcxfffrnjxgitbqizlgfrsixhkqogyqqbqakwfkrhstjwxrgkchiultztikpmvuezjnaxdgrhtoknzlmrpskyjzbzeeivmxywwwxgatrbdgmquldwjsprnfevlktrqwhkafugmgurothxdikshafcvarzaleliwimjwyxgnmjxfphrnspftflkzuwxkcwtmfjpvuygktegzvphhkitfjxyotmjbpmikld\",
\"order\": 2,
\"shared\": false,
\"h5p_content_id\": 59,
\"thumb_url\": \"null\",
\"subject_id\": [
1,
2
],
\"education_level_id\": [
1,
2
],
\"author_tag_id\": [
1,
2
],
\"source_type\": \"debitis\",
\"source_url\": \"tenetur\",
\"organization_visibility_type_id\": 1
}"
const url = new URL(
"http://localhost:8000/api/v1/suborganization/1/independent-activities/11"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"title": "Science of Golf: Why Balls Have Dimples",
"type": "h5p",
"content": "dolor",
"description": "mqrikknukvrsdcsmofqzmqiehbcxfffrnjxgitbqizlgfrsixhkqogyqqbqakwfkrhstjwxrgkchiultztikpmvuezjnaxdgrhtoknzlmrpskyjzbzeeivmxywwwxgatrbdgmquldwjsprnfevlktrqwhkafugmgurothxdikshafcvarzaleliwimjwyxgnmjxfphrnspftflkzuwxkcwtmfjpvuygktegzvphhkitfjxyotmjbpmikld",
"order": 2,
"shared": false,
"h5p_content_id": 59,
"thumb_url": "null",
"subject_id": [
1,
2
],
"education_level_id": [
1,
2
],
"author_tag_id": [
1,
2
],
"source_type": "debitis",
"source_url": "tenetur",
"organization_visibility_type_id": 1
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->put(
'http://localhost:8000/api/v1/suborganization/1/independent-activities/11',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'title' => 'Science of Golf: Why Balls Have Dimples',
'type' => 'h5p',
'content' => 'dolor',
'description' => 'mqrikknukvrsdcsmofqzmqiehbcxfffrnjxgitbqizlgfrsixhkqogyqqbqakwfkrhstjwxrgkchiultztikpmvuezjnaxdgrhtoknzlmrpskyjzbzeeivmxywwwxgatrbdgmquldwjsprnfevlktrqwhkafugmgurothxdikshafcvarzaleliwimjwyxgnmjxfphrnspftflkzuwxkcwtmfjpvuygktegzvphhkitfjxyotmjbpmikld',
'order' => 2,
'shared' => false,
'h5p_content_id' => 59,
'thumb_url' => 'null',
'subject_id' => [
1,
2,
],
'education_level_id' => [
1,
2,
],
'author_tag_id' => [
1,
2,
],
'source_type' => 'debitis',
'source_url' => 'tenetur',
'organization_visibility_type_id' => 1,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (400):
{
"errors": [
"Invalid organization or independent activity id."
]
}
Example response (500):
{
"errors": [
"Failed to update independent activity."
]
}
Example response (200):
{
"independent-activity": {
"id": 9,
"title": "title",
"type": "h5p",
"content": "content",
"description": null,
"shared": null,
"order": 0,
"thumb_url": null,
"created_at": "2022-06-16T05:28:25.000000Z",
"updated_at": "2022-06-16T05:28:25.000000Z",
"gcr_activity_visibility": false,
"subjects": [
{
"id": 1,
"name": "Arts",
"order": null,
"organization_id": 63,
"created_at": "2022-04-21T12:41:25.000000Z",
"updated_at": null
}
],
"education_levels": [
{
"id": 1,
"name": "Preschool (Ages 0-4)",
"order": null,
"organization_id": 63,
"created_at": "2022-04-20T17:33:20.000000Z",
"updated_at": null
}
],
"author_tags": [
{
"id": 1,
"name": "Homework/Assignment",
"order": null,
"organization_id": 63,
"created_at": "2022-04-20T17:38:02.000000Z",
"updated_at": null
}
],
"source_type": null,
"source_url": null,
"organization_visibility_type_id": "1",
"status": null,
"status_text": null,
"indexing": null,
"indexing_text": "NOT REQUESTED",
"user": {
"id": 3,
"name": "Abby _",
"email": "abby@curriki.org",
"email_verified_at": "2020-09-11T23:52:44.000000Z",
"created_at": "2020-04-06T20:47:21.000000Z",
"updated_at": "2021-05-03T19:24:58.000000Z",
"first_name": "Abby",
"last_name": "_",
"organization_name": "",
"job_title": "",
"address": null,
"phone_number": null,
"organization_type": null,
"website": null,
"deleted_at": null,
"role": null,
"gapi_access_token": "{\"token_type\":\"Bearer\",\"access_token\":\"ya29.a0AfH6SMA9EL2ZjzTyPOIv3cgdm7VZ6JHJ3WHgqaaYZJY4X5mKhq417RjMKiCOS36tu1E3sOwNALtVBTamNE_XyNLeDak-xZuU4lAtLV1Ap0Gi19AN10vpj5Sg57AJ3KgrT4G3THYkGF3y0BZ4r38QhdAvydlpkfn_KwCZBQ\",\"scope\":\"email profile https:\\/\\/www.googleapis.com\\/auth\\/classroom.courses openid https:\\/\\/www.googleapis.com\\/auth\\/classroom.courses.readonly https:\\/\\/www.googleapis.com\\/auth\\/userinfo.email https:\\/\\/www.googleapis.com\\/auth\\/classroom.topics https:\\/\\/www.googleapis.com\\/auth\\/classroom.coursework.me https:\\/\\/www.googleapis.com\\/auth\\/classroom.coursework.students https:\\/\\/www.googleapis.com\\/auth\\/userinfo.profile\",\"login_hint\":\"AJDLj6LgfEhLCFgVLEzicO4eYW1YOkD2Ocu__Xw4RutMMX9v-B-BEo_pAMXjGBSn6gx8S9fToe9FpA7M_OwrbGosxzx3LBuA28SCV2kIKwPd_qmJ2ctCRP4\",\"expires_in\":3599,\"id_token\":\"eyJhbGciOiJSUzI1NiIsImtpZCI6IjRiODNmMTgwMjNhODU1NTg3Zjk0MmU3NTEwMjI1MTEyMDg4N2Y3MjUiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJhY2NvdW50cy5nb29nbGUuY29tIiwiYXpwIjoiODk4MTQzOTM5ODM0LTlpb3VpMmk5Z2hncm1jZ21ndGcwaDZyc2Y4M2QwdDBjLmFwcHMuZ29vZ2xldXNlcmNvbnRlbnQuY29tIiwiYXVkIjoiODk4MTQzOTM5ODM0LTlpb3VpMmk5Z2hncm1jZ21ndGcwaDZyc2Y4M2QwdDBjLmFwcHMuZ29vZ2xldXNlcmNvbnRlbnQuY29tIiwic3ViIjoiMTE0MzA3NzE2NTQwNTMzODE4OTQzIiwiaGQiOiJjdXJyaWtpLm9yZyIsImVtYWlsIjoiYWJieUBjdXJyaWtpLm9yZyIsImVtYWlsX3ZlcmlmaWVkIjp0cnVlLCJhdF9oYXNoIjoiSXBlejh3cm5uUmU3Y3p6U1NidFlJdyIsIm5hbWUiOiJBYmJ5IFJvc3MiLCJwaWN0dXJlIjoiaHR0cHM6Ly9saDMuZ29vZ2xldXNlcmNvbnRlbnQuY29tL2EtL0FPaDE0R2cwYUVyeDRwUE1ZOVRPQXJiZ01KX3ZybHdsSzB6SEdBNVp3dFlVPXM5Ni1jIiwiZ2l2ZW5fbmFtZSI6IkFiYnkiLCJmYW1pbHlfbmFtZSI6IlJvc3MiLCJsb2NhbGUiOiJlbiIsImlhdCI6MTYwMDM3NDQ4NywiZXhwIjoxNjAwMzc4MDg3LCJqdGkiOiI3NmUzNjU5M2I1NWEwYjhkMDBlZDZiODRmMmFmMmRiZmVkNDFhN2RhIn0.i9YToGr1CNLtk6zHX2f6dmP4PGB5ibyxFOFisPRvxe1YZvenGpyEh3MlSMkURvHzo2RGmYGkdhpJYHtn2b_TOqbsNsx61DUE4BTME5O_4-VcR-c_YDYFn6K3MpsrYLbSxDKTgdSJbA56B8-s726QzcFEixkU5mtaK5gbO4Zb32U94qF1_ziJ5XcEtaJt1kBY8oY15d3ubXJl-zLyh-fB9K4mqssqqWABbLAtJQycfx5x-9ks6iVHYXq-_tdnfadm7HBYROlcYzKc7VJkOAP5z-e05Zqx9C1NUXpW_-gFwiHazbC7_N_-UihSej2m3qULtIdgZMtT6fid4_LftXc38Q\",\"session_state\":{\"extraQueryParams\":{\"authuser\":\"1\"}},\"first_issued_at\":1600374485776,\"expires_at\":1600378084776,\"idpId\":\"google\"}",
"hubspot": true,
"subscribed": true,
"subscribed_ip": "192.168.96.10",
"membership_type_id": 2,
"temp_password": null
},
"h5p_content": null
}
}
Received response:
Request failed with error:
Remove Independent Activity
Remove the specified independent activity.
Example request:
curl --request DELETE \
"http://localhost:8000/api/v1/suborganization/1/independent-activities/2" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/suborganization/1/independent-activities/2"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->delete(
'http://localhost:8000/api/v1/suborganization/1/independent-activities/2',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "Independent activity has been deleted successfully."
}
Example response (500):
{
"errors": [
"Failed to delete independent activity."
]
}
Received response:
Request failed with error:
Upload Independent Activity thumbnail
Upload thumbnail image for an independent activity
Example request:
curl --request POST \
"http://localhost:8000/api/v1/independent-activities/upload-thumb" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"thumb\": \"(binary)\"
}"
const url = new URL(
"http://localhost:8000/api/v1/independent-activities/upload-thumb"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"thumb": "(binary)"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/independent-activities/upload-thumb',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'thumb' => '(binary)',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"thumbUrl": "/storage/independent-activities/1fqwe2f65ewf465qwe46weef5w5eqwq.png"
}
Example response (400):
{
"errors": [
"Invalid image."
]
}
Received response:
Request failed with error:
Get Independent Activity Detail
Get the specified independent activity in detail.
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/independent-activities/16/detail" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/independent-activities/16/detail"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/independent-activities/16/detail',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"independent-activity": {
"id": 1,
"title": "Taurus 10 Jun 2022 edited",
"type": "h5p",
"content": "place_holder",
"description": null,
"shared": false,
"order": 7,
"thumb_url": "https://images.pexels.com/photos/420233/pexels-photo-420233.jpeg?auto=compress&cs=tinysrgb&dpr=1&fit=crop&h=200&w=280",
"subjects": [],
"education_levels": [],
"author_tags": [],
"h5p": "{\"params\":{\"presentation\":{\"slides\":[{\"elements\":[{\"x\":29.956427015250547,\"y\":29.999999999999996,\"width\":40,\"height\":40,\"action\":{\"library\":\"H5P.AdvancedText 1.1\",\"params\":{\"text\":\"<p>Taurus 10 Jun 2022<\\/p>\\n\"},\"subContentId\":\"efa0c7bc-871b-4f2f-a79f-1ff2f3a3a88e\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Taurus 10 Jun 2022\"}},\"alwaysDisplayComments\":false,\"backgroundOpacity\":0,\"displayAsButton\":false,\"buttonSize\":\"big\",\"goToSlideType\":\"specified\",\"invisible\":false,\"solution\":\"\"}],\"slideBackgroundSelector\":{}}],\"keywordListEnabled\":true,\"globalBackgroundSelector\":{},\"keywordListAlwaysShow\":false,\"keywordListAutoHide\":false,\"keywordListOpacity\":90},\"override\":{\"activeSurface\":false,\"hideSummarySlide\":false,\"summarySlideSolutionButton\":true,\"summarySlideRetryButton\":true,\"enablePrintButton\":false,\"social\":{\"showFacebookShare\":false,\"facebookShare\":{\"url\":\"@currentpageurl\",\"quote\":\"I scored @score out of @maxScore on a task at @currentpageurl.\"},\"showTwitterShare\":false,\"twitterShare\":{\"statement\":\"I scored @score out of @maxScore on a task at @currentpageurl.\",\"url\":\"@currentpageurl\",\"hashtags\":\"h5p, course\"},\"showGoogleShare\":false,\"googleShareUrl\":\"@currentpageurl\"}},\"l10n\":{\"slide\":\"Slide\",\"score\":\"Score\",\"yourScore\":\"Your Score\",\"maxScore\":\"Max Score\",\"total\":\"Total\",\"totalScore\":\"Total Score\",\"showSolutions\":\"Show solutions\",\"retry\":\"Retry\",\"exportAnswers\":\"Export text\",\"hideKeywords\":\"Hide sidebar navigation menu\",\"showKeywords\":\"Show sidebar navigation menu\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit fullscreen\",\"prevSlide\":\"Previous slide\",\"nextSlide\":\"Next slide\",\"currentSlide\":\"Current slide\",\"lastSlide\":\"Last slide\",\"solutionModeTitle\":\"Exit solution mode\",\"solutionModeText\":\"Solution Mode\",\"summaryMultipleTaskText\":\"Multiple tasks\",\"scoreMessage\":\"You achieved:\",\"shareFacebook\":\"Share on Facebook\",\"shareTwitter\":\"Share on Twitter\",\"shareGoogle\":\"Share on Google+\",\"summary\":\"Summary\",\"solutionsButtonTitle\":\"Show comments\",\"printTitle\":\"Print\",\"printIngress\":\"How would you like to print this presentation?\",\"printAllSlides\":\"Print all slides\",\"printCurrentSlide\":\"Print current slide\",\"noTitle\":\"No title\",\"accessibilitySlideNavigationExplanation\":\"Use left and right arrow to change slide in that direction whenever canvas is selected.\",\"accessibilityCanvasLabel\":\"Presentation canvas. Use left and right arrow to move between slides.\",\"containsNotCompleted\":\"@slideName contains not completed interaction\",\"containsCompleted\":\"@slideName contains completed interaction\",\"slideCount\":\"Slide @index of @total\",\"containsOnlyCorrect\":\"@slideName only has correct answers\",\"containsIncorrectAnswers\":\"@slideName has incorrect answers\",\"shareResult\":\"Share Result\",\"accessibilityTotalScore\":\"You got @score of @maxScore points in total\",\"accessibilityEnteredFullscreen\":\"Entered fullscreen\",\"accessibilityExitedFullscreen\":\"Exited fullscreen\"}},\"metadata\":{\"title\":\"Taurus 10 Jun 2022\",\"license\":\"U\"}}",
"h5p_content": {
"id": 54166,
"created_at": "2022-06-10T01:49:20.000000Z",
"updated_at": "2022-06-10T01:49:20.000000Z",
"user_id": 1,
"title": "Taurus 10 Jun 2022",
"library_id": 160,
"parameters": "{\"presentation\":{\"slides\":[{\"elements\":[{\"x\":29.956427015250547,\"y\":29.999999999999996,\"width\":40,\"height\":40,\"action\":{\"library\":\"H5P.AdvancedText 1.1\",\"params\":{\"text\":\"<p>Taurus 10 Jun 2022<\\/p>\\n\"},\"subContentId\":\"efa0c7bc-871b-4f2f-a79f-1ff2f3a3a88e\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Taurus 10 Jun 2022\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Taurus 10 Jun 2022\"}},\"alwaysDisplayComments\":false,\"backgroundOpacity\":0,\"displayAsButton\":false,\"buttonSize\":\"big\",\"goToSlideType\":\"specified\",\"invisible\":false,\"solution\":\"\"}],\"keywords\":[],\"slideBackgroundSelector\":{}}],\"keywordListEnabled\":true,\"globalBackgroundSelector\":{},\"keywordListAlwaysShow\":false,\"keywordListAutoHide\":false,\"keywordListOpacity\":90},\"override\":{\"activeSurface\":false,\"hideSummarySlide\":false,\"summarySlideSolutionButton\":true,\"summarySlideRetryButton\":true,\"enablePrintButton\":false,\"social\":{\"showFacebookShare\":false,\"facebookShare\":{\"url\":\"@currentpageurl\",\"quote\":\"I scored @score out of @maxScore on a task at @currentpageurl.\"},\"showTwitterShare\":false,\"twitterShare\":{\"statement\":\"I scored @score out of @maxScore on a task at @currentpageurl.\",\"url\":\"@currentpageurl\",\"hashtags\":\"h5p, course\"},\"showGoogleShare\":false,\"googleShareUrl\":\"@currentpageurl\"}},\"l10n\":{\"slide\":\"Slide\",\"score\":\"Score\",\"yourScore\":\"Your Score\",\"maxScore\":\"Max Score\",\"total\":\"Total\",\"totalScore\":\"Total Score\",\"showSolutions\":\"Show solutions\",\"retry\":\"Retry\",\"exportAnswers\":\"Export text\",\"hideKeywords\":\"Hide sidebar navigation menu\",\"showKeywords\":\"Show sidebar navigation menu\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit fullscreen\",\"prevSlide\":\"Previous slide\",\"nextSlide\":\"Next slide\",\"currentSlide\":\"Current slide\",\"lastSlide\":\"Last slide\",\"solutionModeTitle\":\"Exit solution mode\",\"solutionModeText\":\"Solution Mode\",\"summaryMultipleTaskText\":\"Multiple tasks\",\"scoreMessage\":\"You achieved:\",\"shareFacebook\":\"Share on Facebook\",\"shareTwitter\":\"Share on Twitter\",\"shareGoogle\":\"Share on Google+\",\"summary\":\"Summary\",\"solutionsButtonTitle\":\"Show comments\",\"printTitle\":\"Print\",\"printIngress\":\"How would you like to print this presentation?\",\"printAllSlides\":\"Print all slides\",\"printCurrentSlide\":\"Print current slide\",\"noTitle\":\"No title\",\"accessibilitySlideNavigationExplanation\":\"Use left and right arrow to change slide in that direction whenever canvas is selected.\",\"accessibilityCanvasLabel\":\"Presentation canvas. Use left and right arrow to move between slides.\",\"containsNotCompleted\":\"@slideName contains not completed interaction\",\"containsCompleted\":\"@slideName contains completed interaction\",\"slideCount\":\"Slide @index of @total\",\"containsOnlyCorrect\":\"@slideName only has correct answers\",\"containsIncorrectAnswers\":\"@slideName has incorrect answers\",\"shareResult\":\"Share Result\",\"accessibilityTotalScore\":\"You got @score of @maxScore points in total\",\"accessibilityEnteredFullscreen\":\"Entered fullscreen\",\"accessibilityExitedFullscreen\":\"Exited fullscreen\"}}",
"filtered": "{\"presentation\":{\"slides\":[{\"elements\":[{\"x\":29.956427015250547,\"y\":29.999999999999996,\"width\":40,\"height\":40,\"action\":{\"library\":\"H5P.AdvancedText 1.1\",\"params\":{\"text\":\"<p>Taurus 10 Jun 2022<\\/p>\\n\"},\"subContentId\":\"efa0c7bc-871b-4f2f-a79f-1ff2f3a3a88e\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Taurus 10 Jun 2022\"}},\"alwaysDisplayComments\":false,\"backgroundOpacity\":0,\"displayAsButton\":false,\"buttonSize\":\"big\",\"goToSlideType\":\"specified\",\"invisible\":false,\"solution\":\"\"}],\"slideBackgroundSelector\":{}}],\"keywordListEnabled\":true,\"globalBackgroundSelector\":{},\"keywordListAlwaysShow\":false,\"keywordListAutoHide\":false,\"keywordListOpacity\":90},\"override\":{\"activeSurface\":false,\"hideSummarySlide\":false,\"summarySlideSolutionButton\":true,\"summarySlideRetryButton\":true,\"enablePrintButton\":false,\"social\":{\"showFacebookShare\":false,\"facebookShare\":{\"url\":\"@currentpageurl\",\"quote\":\"I scored @score out of @maxScore on a task at @currentpageurl.\"},\"showTwitterShare\":false,\"twitterShare\":{\"statement\":\"I scored @score out of @maxScore on a task at @currentpageurl.\",\"url\":\"@currentpageurl\",\"hashtags\":\"h5p, course\"},\"showGoogleShare\":false,\"googleShareUrl\":\"@currentpageurl\"}},\"l10n\":{\"slide\":\"Slide\",\"score\":\"Score\",\"yourScore\":\"Your Score\",\"maxScore\":\"Max Score\",\"total\":\"Total\",\"totalScore\":\"Total Score\",\"showSolutions\":\"Show solutions\",\"retry\":\"Retry\",\"exportAnswers\":\"Export text\",\"hideKeywords\":\"Hide sidebar navigation menu\",\"showKeywords\":\"Show sidebar navigation menu\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit fullscreen\",\"prevSlide\":\"Previous slide\",\"nextSlide\":\"Next slide\",\"currentSlide\":\"Current slide\",\"lastSlide\":\"Last slide\",\"solutionModeTitle\":\"Exit solution mode\",\"solutionModeText\":\"Solution Mode\",\"summaryMultipleTaskText\":\"Multiple tasks\",\"scoreMessage\":\"You achieved:\",\"shareFacebook\":\"Share on Facebook\",\"shareTwitter\":\"Share on Twitter\",\"shareGoogle\":\"Share on Google+\",\"summary\":\"Summary\",\"solutionsButtonTitle\":\"Show comments\",\"printTitle\":\"Print\",\"printIngress\":\"How would you like to print this presentation?\",\"printAllSlides\":\"Print all slides\",\"printCurrentSlide\":\"Print current slide\",\"noTitle\":\"No title\",\"accessibilitySlideNavigationExplanation\":\"Use left and right arrow to change slide in that direction whenever canvas is selected.\",\"accessibilityCanvasLabel\":\"Presentation canvas. Use left and right arrow to move between slides.\",\"containsNotCompleted\":\"@slideName contains not completed interaction\",\"containsCompleted\":\"@slideName contains completed interaction\",\"slideCount\":\"Slide @index of @total\",\"containsOnlyCorrect\":\"@slideName only has correct answers\",\"containsIncorrectAnswers\":\"@slideName has incorrect answers\",\"shareResult\":\"Share Result\",\"accessibilityTotalScore\":\"You got @score of @maxScore points in total\",\"accessibilityEnteredFullscreen\":\"Entered fullscreen\",\"accessibilityExitedFullscreen\":\"Exited fullscreen\"}}",
"slug": "taurus-10-jun-2022",
"embed_type": "div",
"disable": 9,
"content_type": null,
"authors": null,
"source": null,
"year_from": null,
"year_to": null,
"license": "U",
"license_version": null,
"license_extras": null,
"author_comments": null,
"changes": null,
"default_language": null,
"library": {
"id": 160,
"created_at": null,
"updated_at": null,
"name": "H5P.CoursePresentation",
"title": "Course Presentation",
"major_version": 1,
"minor_version": 22,
"patch_version": 2,
"runnable": 1,
"restricted": 0,
"fullscreen": 1,
"embed_types": "iframe",
"preloaded_js": "dist/h5p-course-presentation.js",
"preloaded_css": "dist/h5p-course-presentation.css",
"drop_library_css": "",
"semantics": "[\n {\n \"name\": \"presentation\",\n \"type\": \"group\",\n \"importance\": \"high\",\n \"widget\": \"coursepresentation\",\n \"fields\": [\n {\n \"name\": \"slides\",\n \"importance\": \"high\",\n \"type\": \"list\",\n \"field\": {\n \"name\": \"slide\",\n \"importance\": \"high\",\n \"type\": \"group\",\n \"fields\": [\n {\n \"name\": \"elements\",\n \"importance\": \"high\",\n \"type\": \"list\",\n \"field\": {\n \"name\": \"element\",\n \"importance\": \"high\",\n \"type\": \"group\",\n \"fields\": [\n {\n \"name\": \"x\",\n \"importance\": \"low\",\n \"type\": \"number\",\n \"widget\": \"none\"\n },\n {\n \"name\": \"y\",\n \"importance\": \"low\",\n \"type\": \"number\",\n \"widget\": \"none\"\n },\n {\n \"name\": \"width\",\n \"importance\": \"low\",\n \"type\": \"number\",\n \"widget\": \"none\",\n \"optional\": true\n },\n {\n \"name\": \"height\",\n \"importance\": \"low\",\n \"type\": \"number\",\n \"widget\": \"none\",\n \"optional\": true\n },\n {\n \"name\": \"action\",\n \"type\": \"library\",\n \"importance\": \"high\",\n \"options\": [\n \"H5P.AdvancedText 1.1\",\n \"H5P.Link 1.3\",\n \"H5P.Image 1.1\",\n \"H5P.Shape 1.0\",\n \"H5P.Video 1.5\",\n \"H5P.Audio 1.4\",\n \"H5P.Blanks 1.12\",\n \"H5P.SingleChoiceSet 1.11\",\n \"H5P.MultiChoice 1.14\",\n \"H5P.TrueFalse 1.6\",\n \"H5P.DragQuestion 1.13\",\n \"H5P.Summary 1.10\",\n \"H5P.DragText 1.8\",\n \"H5P.MarkTheWords 1.9\",\n \"H5P.Dialogcards 1.8\",\n \"H5P.ContinuousText 1.2\",\n \"H5P.ExportableTextArea 1.3\",\n \"H5P.Table 1.1\",\n \"H5P.InteractiveVideo 1.22\",\n \"H5P.TwitterUserFeed 1.0\"\n ],\n \"optional\": true\n },\n {\n \"name\": \"solution\",\n \"type\": \"text\",\n \"widget\": \"html\",\n \"optional\": true,\n \"label\": \"Comments\",\n \"importance\": \"low\",\n \"description\": \"The comments are shown when the user displays the suggested answers for all slides.\",\n \"enterMode\": \"p\",\n \"tags\": [\n \"strong\",\n \"em\",\n \"del\",\n \"a\",\n \"ul\",\n \"ol\",\n \"h2\",\n \"h3\",\n \"hr\",\n \"pre\",\n \"code\"\n ]\n },\n {\n \"name\": \"alwaysDisplayComments\",\n \"type\": \"boolean\",\n \"label\": \"Always display comments\",\n \"importance\": \"low\",\n \"optional\": true\n },\n {\n \"name\": \"backgroundOpacity\",\n \"type\": \"number\",\n \"label\": \"Background Opacity\",\n \"importance\": \"low\",\n \"min\": 0,\n \"max\": 100,\n \"step\": 5,\n \"default\": 0,\n \"optional\": true\n },\n {\n \"name\": \"displayAsButton\",\n \"type\": \"boolean\",\n \"label\": \"Display as button\",\n \"importance\": \"medium\",\n \"default\": false,\n \"optional\": true\n },\n {\n \"name\": \"buttonSize\",\n \"type\": \"select\",\n \"label\": \"Button size\",\n \"importance\": \"low\",\n \"optional\": false,\n \"default\": \"big\",\n \"options\": [\n {\n \"value\": \"small\",\n \"label\": \"Small\"\n },\n {\n \"value\": \"big\",\n \"label\": \"Big\"\n }\n ]\n },\n {\n \"name\": \"title\",\n \"type\": \"text\",\n \"optional\": true,\n \"label\": \"Title\",\n \"importance\": \"medium\"\n },\n {\n \"name\": \"goToSlideType\",\n \"type\": \"select\",\n \"label\": \"Go to\",\n \"importance\": \"medium\",\n \"optional\": false,\n \"options\": [\n {\n \"value\": \"specified\",\n \"label\": \"Specific slide number\"\n },\n {\n \"value\": \"next\",\n \"label\": \"Next slide\"\n },\n {\n \"value\": \"previous\",\n \"label\": \"Previous slide\"\n }\n ],\n \"default\": \"specified\"\n },\n {\n \"name\": \"goToSlide\",\n \"type\": \"number\",\n \"label\": \"Specific slide number\",\n \"description\": \"Only applicable when 'Specific slide number' is selected\",\n \"importance\": \"low\",\n \"min\": 1,\n \"optional\": true\n },\n {\n \"name\": \"invisible\",\n \"type\": \"boolean\",\n \"label\": \"Invisible\",\n \"importance\": \"low\",\n \"description\": \"Default cursor, no title and no tab index. Warning: Users with disabilities or keyboard only users will have trouble using this element.\",\n \"default\": false\n }\n ]\n }\n },\n {\n \"name\": \"keywords\",\n \"importance\": \"low\",\n \"type\": \"list\",\n \"optional\": true,\n \"field\": {\n \"name\": \"keyword\",\n \"importance\": \"low\",\n \"type\": \"group\",\n \"optional\": true,\n \"fields\": [\n {\n \"name\": \"main\",\n \"importance\": \"low\",\n \"type\": \"text\",\n \"optional\": true\n },\n {\n \"name\": \"subs\",\n \"importance\": \"low\",\n \"type\": \"list\",\n \"optional\": true,\n \"field\": {\n \"name\": \"keyword\",\n \"importance\": \"low\",\n \"type\": \"text\"\n }\n }\n ]\n }\n },\n {\n \"name\": \"slideBackgroundSelector\",\n \"importance\": \"medium\",\n \"type\": \"group\",\n \"widget\": \"radioSelector\",\n \"fields\": [\n {\n \"name\": \"imageSlideBackground\",\n \"type\": \"image\",\n \"label\": \"Image\",\n \"importance\": \"medium\",\n \"optional\": true,\n \"description\": \"Image background should have a 2:1 width to height ratio to avoid stretching. High resolution images will display better on larger screens.\"\n },\n {\n \"name\": \"fillSlideBackground\",\n \"importance\": \"medium\",\n \"type\": \"text\",\n \"widget\": \"colorSelector\",\n \"label\": \"Pick a color\",\n \"spectrum\": {\n \"flat\": true,\n \"showInput\": true,\n \"allowEmpty\": true,\n \"showButtons\": false\n },\n \"default\": null,\n \"optional\": true\n }\n ]\n }\n ]\n }\n },\n {\n \"name\": \"ct\",\n \"importance\": \"low\",\n \"type\": \"text\",\n \"widget\": \"none\",\n \"optional\": true,\n \"tags\": [\n \"strong\",\n \"em\",\n \"del\",\n \"br\",\n \"p\",\n \"a\",\n \"h2\",\n \"h3\",\n \"pre\",\n \"code\"\n ]\n },\n {\n \"name\": \"keywordListEnabled\",\n \"type\": \"boolean\",\n \"label\": \"Keyword list\",\n \"importance\": \"low\",\n \"default\": true\n },\n {\n \"name\": \"keywordListAlwaysShow\",\n \"type\": \"boolean\",\n \"label\": \"Always show\",\n \"importance\": \"low\",\n \"default\": false\n },\n {\n \"name\": \"keywordListAutoHide\",\n \"type\": \"boolean\",\n \"label\": \"Auto hide\",\n \"importance\": \"low\",\n \"default\": false\n },\n {\n \"name\": \"keywordListOpacity\",\n \"type\": \"number\",\n \"label\": \"Opacity\",\n \"importance\": \"low\",\n \"min\": 0,\n \"max\": 100,\n \"default\": 90\n },\n {\n \"name\": \"globalBackgroundSelector\",\n \"importance\": \"medium\",\n \"type\": \"group\",\n \"widget\": \"radioSelector\",\n \"fields\": [\n {\n \"name\": \"imageGlobalBackground\",\n \"type\": \"image\",\n \"label\": \"Image\",\n \"importance\": \"medium\",\n \"optional\": true,\n \"description\": \"Image background should have a 2:1 width to height ratio to avoid stretching. High resolution images will display better on larger screens.\"\n },\n {\n \"name\": \"fillGlobalBackground\",\n \"type\": \"text\",\n \"widget\": \"colorSelector\",\n \"label\": \"Pick a color\",\n \"importance\": \"medium\",\n \"spectrum\": {\n \"flat\": true,\n \"showInput\": true,\n \"allowEmpty\": true,\n \"showButtons\": false\n },\n \"default\": null,\n \"optional\": true\n }\n ]\n }\n ]\n },\n {\n \"name\": \"l10n\",\n \"type\": \"group\",\n \"label\": \"Localize\",\n \"importance\": \"low\",\n \"common\": true,\n \"fields\": [\n {\n \"name\": \"slide\",\n \"type\": \"text\",\n \"label\": \"Translation for \\\"Slide\\\"\",\n \"importance\": \"low\",\n \"default\": \"Slide\"\n },\n {\n \"name\": \"score\",\n \"type\": \"text\",\n \"label\": \"Translation for \\\"Score\\\"\",\n \"importance\": \"low\",\n \"default\": \"Score\"\n },\n {\n \"name\": \"yourScore\",\n \"type\": \"text\",\n \"label\": \"Translation for \\\"Your Score\\\"\",\n \"importance\": \"low\",\n \"default\": \"Your Score\"\n },\n {\n \"name\": \"maxScore\",\n \"type\": \"text\",\n \"label\": \"Translation for \\\"Max Score\\\"\",\n \"importance\": \"low\",\n \"default\": \"Max Score\"\n },\n {\n \"name\": \"total\",\n \"type\": \"text\",\n \"label\": \"Translation for \\\"Total\\\"\",\n \"importance\": \"low\",\n \"default\": \"Total\"\n },\n {\n \"name\": \"totalScore\",\n \"type\": \"text\",\n \"label\": \"Translation for \\\"Total Score\\\"\",\n \"importance\": \"low\",\n \"default\": \"Total Score\"\n },\n {\n \"name\": \"showSolutions\",\n \"type\": \"text\",\n \"label\": \"Title for show solutions button\",\n \"importance\": \"low\",\n \"default\": \"Show solutions\"\n },\n {\n \"name\": \"retry\",\n \"type\": \"text\",\n \"label\": \"Text for the retry button\",\n \"importance\": \"low\",\n \"default\": \"Retry\",\n \"optional\": true\n },\n {\n \"name\": \"exportAnswers\",\n \"type\": \"text\",\n \"label\": \"Text for the export text button\",\n \"importance\": \"low\",\n \"default\": \"Export text\"\n },\n {\n \"name\": \"hideKeywords\",\n \"type\": \"text\",\n \"label\": \"Hide sidebar navigation menu button title\",\n \"importance\": \"low\",\n \"default\": \"Hide sidebar navigation menu\"\n },\n {\n \"name\": \"showKeywords\",\n \"type\": \"text\",\n \"label\": \"Show sidebar navigation menu button title\",\n \"importance\": \"low\",\n \"default\": \"Show sidebar navigation menu\"\n },\n {\n \"name\": \"fullscreen\",\n \"type\": \"text\",\n \"label\": \"Fullscreen label\",\n \"importance\": \"low\",\n \"default\": \"Fullscreen\"\n },\n {\n \"name\": \"exitFullscreen\",\n \"type\": \"text\",\n \"label\": \"Exit fullscreen label\",\n \"importance\": \"low\",\n \"default\": \"Exit fullscreen\"\n },\n {\n \"name\": \"prevSlide\",\n \"type\": \"text\",\n \"label\": \"Previous slide label\",\n \"importance\": \"low\",\n \"default\": \"Previous slide\"\n },\n {\n \"name\": \"nextSlide\",\n \"type\": \"text\",\n \"label\": \"Next slide label\",\n \"importance\": \"low\",\n \"default\": \"Next slide\"\n },\n {\n \"name\": \"currentSlide\",\n \"type\": \"text\",\n \"label\": \"Current slide label\",\n \"importance\": \"low\",\n \"default\": \"Current slide\"\n },\n {\n \"name\": \"lastSlide\",\n \"type\": \"text\",\n \"label\": \"Last slide label\",\n \"importance\": \"low\",\n \"default\": \"Last slide\"\n },\n {\n \"name\": \"solutionModeTitle\",\n \"type\": \"text\",\n \"label\": \"Exit solution mode text\",\n \"importance\": \"low\",\n \"default\": \"Exit solution mode\"\n },\n {\n \"name\": \"solutionModeText\",\n \"type\": \"text\",\n \"label\": \"Solution mode text\",\n \"importance\": \"low\",\n \"default\": \"Solution Mode\"\n },\n {\n \"name\": \"summaryMultipleTaskText\",\n \"type\": \"text\",\n \"label\": \"Text when multiple tasks on a page\",\n \"importance\": \"low\",\n \"default\": \"Multiple tasks\"\n },\n {\n \"name\": \"scoreMessage\",\n \"type\": \"text\",\n \"label\": \"Score message text\",\n \"importance\": \"low\",\n \"default\": \"You achieved:\"\n },\n {\n \"name\": \"shareFacebook\",\n \"type\": \"text\",\n \"label\": \"Share to Facebook text\",\n \"importance\": \"low\",\n \"default\": \"Share on Facebook\"\n },\n {\n \"name\": \"shareTwitter\",\n \"type\": \"text\",\n \"label\": \"Share to Twitter text\",\n \"importance\": \"low\",\n \"default\": \"Share on Twitter\"\n },\n {\n \"name\": \"shareGoogle\",\n \"type\": \"text\",\n \"label\": \"Share to Google text\",\n \"importance\": \"low\",\n \"default\": \"Share on Google+\"\n },\n {\n \"name\": \"summary\",\n \"type\": \"text\",\n \"label\": \"Title for summary slide\",\n \"importance\": \"low\",\n \"default\": \"Summary\"\n },\n {\n \"name\": \"solutionsButtonTitle\",\n \"type\": \"text\",\n \"label\": \"Title for the comments icon\",\n \"importance\": \"low\",\n \"default\": \"Show comments\"\n },\n {\n \"name\": \"printTitle\",\n \"type\": \"text\",\n \"label\": \"Title for print button\",\n \"importance\": \"low\",\n \"default\": \"Print\"\n },\n {\n \"name\": \"printIngress\",\n \"type\": \"text\",\n \"label\": \"Print dialog ingress\",\n \"importance\": \"low\",\n \"default\": \"How would you like to print this presentation?\"\n },\n {\n \"name\": \"printAllSlides\",\n \"type\": \"text\",\n \"label\": \"Label for \\\"Print all slides\\\" button\",\n \"importance\": \"low\",\n \"default\": \"Print all slides\"\n },\n {\n \"name\": \"printCurrentSlide\",\n \"type\": \"text\",\n \"label\": \"Label for \\\"Print current slide\\\" button\",\n \"importance\": \"low\",\n \"default\": \"Print current slide\"\n },\n {\n \"name\": \"noTitle\",\n \"type\": \"text\",\n \"label\": \"Label for slides without a title\",\n \"importance\": \"low\",\n \"default\": \"No title\"\n },\n {\n \"name\": \"accessibilitySlideNavigationExplanation\",\n \"type\": \"text\",\n \"label\": \"Explanation of slide navigation for assistive technologies\",\n \"importance\": \"low\",\n \"default\": \"Use left and right arrow to change slide in that direction whenever canvas is selected.\"\n },\n {\n \"name\": \"accessibilityCanvasLabel\",\n \"type\": \"text\",\n \"label\": \"Canvas label for assistive technologies\",\n \"importance\": \"low\",\n \"default\": \"Presentation canvas. Use left and right arrow to move between slides.\"\n },\n {\n \"name\": \"containsNotCompleted\",\n \"type\": \"text\",\n \"label\": \"Label for uncompleted interactions\",\n \"importance\": \"low\",\n \"default\": \"@slideName contains not completed interaction\"\n },\n {\n \"name\": \"containsCompleted\",\n \"type\": \"text\",\n \"label\": \"Label for completed interactions\",\n \"importance\": \"low\",\n \"default\": \"@slideName contains completed interaction\"\n },\n {\n \"name\": \"slideCount\",\n \"type\": \"text\",\n \"label\": \"Label for slide counter. Variables are @index, @total\",\n \"importance\": \"low\",\n \"default\": \"Slide @index of @total\"\n },\n {\n \"name\": \"containsOnlyCorrect\",\n \"type\": \"text\",\n \"label\": \"Label for slides that only contains correct answers\",\n \"importance\": \"low\",\n \"default\": \"@slideName only has correct answers\"\n },\n {\n \"name\": \"containsIncorrectAnswers\",\n \"type\": \"text\",\n \"label\": \"Label for slides that has incorrect answers\",\n \"importance\": \"low\",\n \"default\": \"@slideName has incorrect answers\"\n },\n {\n \"name\": \"shareResult\",\n \"type\": \"text\",\n \"label\": \"Label for social sharing bar\",\n \"importance\": \"low\",\n \"default\": \"Share Result\"\n },\n {\n \"name\": \"accessibilityTotalScore\",\n \"type\": \"text\",\n \"label\": \"Total score announcement for assistive technologies\",\n \"default\": \"You got @score of @maxScore points in total\",\n \"description\": \"Available variables are @score and @maxScore\"\n },\n {\n \"name\": \"accessibilityEnteredFullscreen\",\n \"type\": \"text\",\n \"label\": \"Entered fullscreen announcement for assistive technologies\",\n \"default\": \"Entered fullscreen\"\n },\n {\n \"name\": \"accessibilityExitedFullscreen\",\n \"type\": \"text\",\n \"label\": \"Exited fullscreen announcement for assistive technologies\",\n \"default\": \"Exited fullscreen\"\n }\n ]\n },\n {\n \"name\": \"override\",\n \"type\": \"group\",\n \"label\": \"Behaviour settings.\",\n \"importance\": \"low\",\n \"description\": \"These options will let you override behaviour settings.\",\n \"optional\": true,\n \"fields\": [\n {\n \"name\": \"activeSurface\",\n \"type\": \"boolean\",\n \"widget\": \"disposableBoolean\",\n \"label\": \"Activate Active Surface Mode\",\n \"importance\": \"low\",\n \"description\": \"Removes navigation controls for the end user. Use Go To Slide to navigate.\",\n \"default\": false\n },\n {\n \"name\": \"hideSummarySlide\",\n \"type\": \"boolean\",\n \"label\": \"Hide Summary Slide\",\n \"importance\": \"low\",\n \"description\": \"Hides the summary slide.\",\n \"default\": false\n },\n {\n \"name\": \"showSolutionButton\",\n \"type\": \"select\",\n \"label\": \"Override \\\"Show Solution\\\" button\",\n \"importance\": \"low\",\n \"description\": \"This option determines if the \\\"Show Solution\\\" button will be configured for each question individually (default) shown for all questions (Enabled) or disabled for all questions (Disabled) \",\n \"optional\": true,\n \"options\": [\n {\n \"value\": \"on\",\n \"label\": \"Enabled\"\n },\n {\n \"value\": \"off\",\n \"label\": \"Disabled\"\n }\n ]\n },\n {\n \"name\": \"retryButton\",\n \"type\": \"select\",\n \"label\": \"Override \\\"Retry\\\" button\",\n \"importance\": \"low\",\n \"description\": \"This option determines if the \\\"Retry\\\" button will be configured for each question individually (default) shown for all questions (Enabled) or disabled for all questions (Disabled)\",\n \"optional\": true,\n \"options\": [\n {\n \"value\": \"on\",\n \"label\": \"Enabled\"\n },\n {\n \"value\": \"off\",\n \"label\": \"Disabled\"\n }\n ]\n },\n {\n \"name\": \"summarySlideSolutionButton\",\n \"type\": \"boolean\",\n \"label\": \"Show \\\"Show solution\\\" button in the summary slide\",\n \"description\": \"If enabled, the learner will be able to show the solutions for all question when they reach the summary slide\",\n \"default\": true,\n \"importance\": \"low\",\n \"widget\": \"showWhen\",\n \"showWhen\": {\n \"rules\": [\n {\n \"field\": \"hideSummarySlide\",\n \"equals\": false\n }\n ]\n }\n },\n {\n \"name\": \"summarySlideRetryButton\",\n \"type\": \"boolean\",\n \"label\": \"Show \\\"Retry\\\" button in the summary slide\",\n \"description\": \"If enabled, the learner will be able to retry all questions when they reach the summary slide. Be advised that by refreshing the page the learners will be able to retry even if this button isn't showing.\",\n \"default\": true,\n \"importance\": \"low\",\n \"widget\": \"showWhen\",\n \"showWhen\": {\n \"rules\": [\n {\n \"field\": \"hideSummarySlide\",\n \"equals\": false\n }\n ]\n }\n },\n {\n \"name\": \"enablePrintButton\",\n \"type\": \"boolean\",\n \"label\": \"Enable print button\",\n \"importance\": \"low\",\n \"description\": \"Enables the print button.\",\n \"default\": false\n },\n {\n \"name\": \"social\",\n \"type\": \"group\",\n \"label\": \"Social Settings\",\n \"widget\": \"showWhen\",\n \"showWhen\": {\n \"rules\": [\n {\n \"field\": \"hideSummarySlide\",\n \"equals\": false\n }\n ]\n },\n \"importance\": \"low\",\n \"description\": \"These options will let you override social behaviour settings. Empty values will be filled in automatically if a link is provided, otherwise all values will be generated.\",\n \"optional\": true,\n \"fields\": [\n {\n \"name\": \"showFacebookShare\",\n \"type\": \"boolean\",\n \"label\": \"Display Facebook share icon\",\n \"importance\": \"low\",\n \"default\": false\n },\n {\n \"name\": \"facebookShare\",\n \"importance\": \"low\",\n \"type\": \"group\",\n \"expanded\": true,\n \"label\": \"Facebook share settings\",\n \"widget\": \"showWhen\",\n \"showWhen\": {\n \"rules\": [\n {\n \"field\": \"showFacebookShare\",\n \"equals\": true\n }\n ]\n },\n \"fields\": [\n {\n \"name\": \"url\",\n \"type\": \"text\",\n \"label\": \"Share to Facebook link\",\n \"importance\": \"low\",\n \"default\": \"@currentpageurl\"\n },\n {\n \"name\": \"quote\",\n \"type\": \"text\",\n \"label\": \"Share to Facebook quote\",\n \"importance\": \"low\",\n \"default\": \"I scored @score out of @maxScore on a task at @currentpageurl.\"\n }\n ]\n },\n {\n \"name\": \"showTwitterShare\",\n \"type\": \"boolean\",\n \"label\": \"Display Twitter share icon\",\n \"importance\": \"low\",\n \"default\": false\n },\n {\n \"name\": \"twitterShare\",\n \"importance\": \"low\",\n \"type\": \"group\",\n \"expanded\": true,\n \"label\": \"Twitter share settings\",\n \"widget\": \"showWhen\",\n \"showWhen\": {\n \"rules\": [\n {\n \"field\": \"showTwitterShare\",\n \"equals\": true\n }\n ]\n },\n \"fields\": [\n {\n \"name\": \"statement\",\n \"type\": \"text\",\n \"label\": \"Share to Twitter statement\",\n \"importance\": \"low\",\n \"default\": \"I scored @score out of @maxScore on a task at @currentpageurl.\"\n },\n {\n \"name\": \"url\",\n \"type\": \"text\",\n \"label\": \"Share to Twitter link\",\n \"importance\": \"low\",\n \"default\": \"@currentpageurl\"\n },\n {\n \"name\": \"hashtags\",\n \"type\": \"text\",\n \"label\": \"Share to Twitter hashtags\",\n \"importance\": \"low\",\n \"default\": \"h5p, course\"\n }\n ]\n },\n {\n \"name\": \"showGoogleShare\",\n \"type\": \"boolean\",\n \"label\": \"Display Google+ share icon\",\n \"importance\": \"low\",\n \"default\": false\n },\n {\n \"name\": \"googleShareUrl\",\n \"type\": \"text\",\n \"label\": \"Share to Google link\",\n \"importance\": \"low\",\n \"default\": \"@currentpageurl\",\n \"widget\": \"showWhen\",\n \"showWhen\": {\n \"rules\": [\n {\n \"field\": \"showGoogleShare\",\n \"equals\": true\n }\n ]\n }\n }\n ]\n }\n ]\n }\n]",
"tutorial_url": "",
"has_icon": 1
}
},
"library_name": "H5P.CoursePresentation",
"major_version": 1,
"minor_version": 22,
"user_name": {
"id": 3,
"name": "Abby tester test",
"email": "abby@curriki.org",
"email_verified_at": "2020-09-11T23:52:44.000000Z",
"created_at": "2020-04-06T20:47:21.000000Z",
"updated_at": "2022-06-14T09:32:00.000000Z",
"first_name": "Abby tester",
"last_name": "test",
"organization_name": "Curriki",
"job_title": "PM",
"address": null,
"phone_number": "4543543543",
"organization_type": "K-12",
"website": null,
"deleted_at": null,
"role": null,
"gapi_access_token": "{\"token_type\":\"Bearer\",\"access_token\":\"ya29.a0ARrdaM-BKypS4SFslL_n_LjqfIhQkoZjsLbi7YVPNSIjlIYfxRsB_B-0cCObtILu5Cereaa1GrVVO-1U0O3v6rgVaqfqq9n3jJM8cZueVYGSJxhhCtGMnWoZ5Ni9Exi2uVxC9rXR17T1p-NgWwUddYZInBO8Fk0\",\"scope\":\"email profile https://www.googleapis.com/auth/classroom.coursework.students https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/classroom.courses.readonly https://www.googleapis.com/auth/classroom.coursework.me https://www.googleapis.com/auth/classroom.topics https://www.googleapis.com/auth/classroom.courses openid https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/classroom.rosters.readonly\",\"login_hint\":\"AJDLj6IhjPEjK-HinFn0-xSdbBgjitIliFKMmP0IT37J-BCTcA7-DF5lesECWi3460LMx3a9xrFCjvBSgPqjknqtmIdAXn5G9LXjf_CP3rxipnDlrfmpZzU\",\"expires_in\":3599,\"id_token\":\"eyJhbGciOiJSUzI1NiIsImtpZCI6Ijc0ODNhMDg4ZDRmZmMwMDYwOWYwZTIyZjNjMjJkYTVmZTM5MDZjY2MiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJhY2NvdW50cy5nb29nbGUuY29tIiwiYXpwIjoiODk4MTQzOTM5ODM0LTlpb3VpMmk5Z2hncm1jZ21ndGcwaDZyc2Y4M2QwdDBjLmFwcHMuZ29vZ2xldXNlcmNvbnRlbnQuY29tIiwiYXVkIjoiODk4MTQzOTM5ODM0LTlpb3VpMmk5Z2hncm1jZ21ndGcwaDZyc2Y4M2QwdDBjLmFwcHMuZ29vZ2xldXNlcmNvbnRlbnQuY29tIiwic3ViIjoiMTA2MjM0MTAzNzYwNjM5NzYzMzA1IiwiZW1haWwiOiJmYWhhZC5jdXJyaWtpQGdtYWlsLmNvbSIsImVtYWlsX3ZlcmlmaWVkIjp0cnVlLCJhdF9oYXNoIjoiTkZ6dFR2ZnNDdUNTMG5aQmRzZDlyUSIsIm5hbWUiOiJGYWhhZCBGYXJydWtoIiwicGljdHVyZSI6Imh0dHBzOi8vbGgzLmdvb2dsZXVzZXJjb250ZW50LmNvbS9hL0FBVFhBSnlfSkxxMTZfRnlSSTJEQTdxdEdyc21uZHIyVHdwUG1BMUhYbVY4PXM5Ni1jIiwiZ2l2ZW5fbmFtZSI6IkZhaGFkIiwiZmFtaWx5X25hbWUiOiJGYXJydWtoIiwibG9jYWxlIjoiZW4iLCJpYXQiOjE2NTQ4MjYyMTgsImV4cCI6MTY1NDgyOTgxOCwianRpIjoiNmM3ZGZhMmYwZDllYTA4ZDNjNzY2ZjJlMTU4MmYxODI5ZjRkMjQxNSJ9.UHc3Hy2rdm190fGbjFjkAoulIYvlAYSaUa6EALqB32mr2ZO4RVxY85nKxeN1GxqXySgCdtNMfmBnRmr7JO7t4qMipuIHCCNLFd3rbh9QJ9z5HuK08gxgKT1IWgfEqzjA9nqX59TDY-3yK41gbIzUR2buXUdIM6EpA9lYW11-gh053wUdKk0zwmgeTRpiJ1qttRV3C50E53mzC61T2bLk56kLXiQPHx6C9LwFoTYtqJq5COILD3Tzg29XXldE7zKszDRUEJFMT9_GvFNsjfJTGv7dPhzxiLeOCs0cjbpJuGyFaYaRyOYvILqDjJH9wYF8KbalnhN9g-HOXDNZk0nphA\",\"session_state\":{\"extraQueryParams\":{\"authuser\":\"0\"}},\"first_issued_at\":1654826218249,\"expires_at\":1654829817249,\"idpId\":\"google\"}",
"hubspot": true,
"subscribed": true,
"subscribed_ip": "192.168.96.10",
"membership_type_id": 2,
"temp_password": null
},
"user_id": 3,
"source_type": null,
"source_url": null,
"created_at": "2022-06-10T01:49:20.000000Z",
"updated_at": "2022-06-10T01:58:23.000000Z",
"organization_visibility_type_id": 4
}
}
Received response:
Request failed with error:
H5P Independent Activity
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/independent-activities/3/h5p" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/independent-activities/3/h5p"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/independent-activities/3/h5p',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"independent-activity": {
"id": 1,
"title": "Taurus 10 Jun 2022 edited",
"type": "h5p",
"content": "place_holder",
"description": null,
"shared": false,
"order": 7,
"thumb_url": "https://images.pexels.com/photos/420233/pexels-photo-420233.jpeg?auto=compress&cs=tinysrgb&dpr=1&fit=crop&h=200&w=280",
"subject_id": null,
"education_level_id": null,
"h5p": {
"settings": {
"baseUrl": "https://dev.currikistudio.org/api",
"url": "https://dev.currikistudio.org/api/storage/h5p",
"postUserStatistics": true,
"ajax": {
"setFinished": "https://dev.currikistudio.org/api/api/v1/h5p/ajax/finish",
"contentUserData": "https://dev.currikistudio.org/api/api/v1/h5p/ajax/content-user-data?content_id=:contentId&data_type=:dataType&sub_content_id=:subContentId"
},
"saveFreq": 7,
"siteUrl": "https://dev.currikistudio.org/api",
"l10n": {
"H5P": {
"fullscreen": "Fullscreen",
"disableFullscreen": "Disable fullscreen",
"download": "Download",
"copyrights": "Rights of use",
"embed": "Embed",
"reuseDescription": "Reuse this content.",
"size": "Size",
"showAdvanced": "Show advanced",
"hideAdvanced": "Hide advanced",
"advancedHelp": "Include this script on your website if you want dynamic sizing of the embedded content:",
"copyrightInformation": "Rights of use",
"close": "Close",
"title": "Title",
"author": "Author",
"year": "Year",
"source": "Source",
"license": "License",
"thumbnail": "Thumbnail",
"noCopyrights": "No copyright information available for this content.",
"downloadDescription": "Download this content as a H5P file.",
"copyrightsDescription": "View copyright information for this content.",
"embedDescription": "View the embed code for this content.",
"h5pDescription": "Visit H5P.org to check out more cool content.",
"contentChanged": "This content has changed since you last used it.",
"startingOver": "You'll be starting over.",
"confirmDialogHeader": "Confirm action",
"confirmDialogBody": "Please confirm that you wish to proceed. This action is not reversible.",
"cancelLabel": "Cancel",
"confirmLabel": "Confirm",
"reuse": "Reuse",
"reuseContent": "Reuse Content"
}
},
"hubIsEnabled": false,
"reportingIsEnabled": true,
"user": {
"name": "Abby tester test",
"mail": "abby@curriki.org"
},
"editor": {
"filesPath": "https://dev.currikistudio.org/api/storage/h5p/editor",
"fileIcon": {
"path": "https://dev.currikistudio.org/api/storage/h5p/h5p-editor/images/binary-file.png",
"width": 50,
"height": 50
},
"ajaxPath": "https://dev.currikistudio.org/api/api/v1/h5p/ajax/",
"libraryUrl": "https://dev.currikistudio.org/api/storage/h5p/h5p-editor/",
"copyrightSemantics": {
"name": "copyright",
"type": "group",
"label": "Copyright information",
"fields": [
{
"name": "title",
"type": "text",
"label": "Title",
"placeholder": "La Gioconda",
"optional": true
},
{
"name": "author",
"type": "text",
"label": "Author",
"placeholder": "Leonardo da Vinci",
"optional": true
},
{
"name": "year",
"type": "text",
"label": "Year(s)",
"placeholder": "1503 - 1517",
"optional": true
},
{
"name": "source",
"type": "text",
"label": "Source",
"placeholder": "http://en.wikipedia.org/wiki/Mona_Lisa",
"optional": true,
"regexp": {
"pattern": "^http[s]?://.+",
"modifiers": "i"
}
},
{
"name": "license",
"type": "select",
"label": "License",
"default": "U",
"options": [
{
"value": "U",
"label": "Undisclosed"
},
{
"value": "CC BY",
"label": "Attribution",
"versions": [
{
"value": "4.0",
"label": "4.0 International"
},
{
"value": "3.0",
"label": "3.0 Unported"
},
{
"value": "2.5",
"label": "2.5 Generic"
},
{
"value": "2.0",
"label": "2.0 Generic"
},
{
"value": "1.0",
"label": "1.0 Generic"
}
]
},
{
"value": "CC BY-SA",
"label": "Attribution-ShareAlike",
"versions": [
{
"value": "4.0",
"label": "4.0 International"
},
{
"value": "3.0",
"label": "3.0 Unported"
},
{
"value": "2.5",
"label": "2.5 Generic"
},
{
"value": "2.0",
"label": "2.0 Generic"
},
{
"value": "1.0",
"label": "1.0 Generic"
}
]
},
{
"value": "CC BY-ND",
"label": "Attribution-NoDerivs",
"versions": [
{
"value": "4.0",
"label": "4.0 International"
},
{
"value": "3.0",
"label": "3.0 Unported"
},
{
"value": "2.5",
"label": "2.5 Generic"
},
{
"value": "2.0",
"label": "2.0 Generic"
},
{
"value": "1.0",
"label": "1.0 Generic"
}
]
},
{
"value": "CC BY-NC",
"label": "Attribution-NonCommercial",
"versions": [
{
"value": "4.0",
"label": "4.0 International"
},
{
"value": "3.0",
"label": "3.0 Unported"
},
{
"value": "2.5",
"label": "2.5 Generic"
},
{
"value": "2.0",
"label": "2.0 Generic"
},
{
"value": "1.0",
"label": "1.0 Generic"
}
]
},
{
"value": "CC BY-NC-SA",
"label": "Attribution-NonCommercial-ShareAlike",
"versions": [
{
"value": "4.0",
"label": "4.0 International"
},
{
"value": "3.0",
"label": "3.0 Unported"
},
{
"value": "2.5",
"label": "2.5 Generic"
},
{
"value": "2.0",
"label": "2.0 Generic"
},
{
"value": "1.0",
"label": "1.0 Generic"
}
]
},
{
"value": "CC BY-NC-ND",
"label": "Attribution-NonCommercial-NoDerivs",
"versions": [
{
"value": "4.0",
"label": "4.0 International"
},
{
"value": "3.0",
"label": "3.0 Unported"
},
{
"value": "2.5",
"label": "2.5 Generic"
},
{
"value": "2.0",
"label": "2.0 Generic"
},
{
"value": "1.0",
"label": "1.0 Generic"
}
]
},
{
"value": "GNU GPL",
"label": "General Public License",
"versions": [
{
"value": "v3",
"label": "Version 3"
},
{
"value": "v2",
"label": "Version 2"
},
{
"value": "v1",
"label": "Version 1"
}
]
},
{
"value": "PD",
"label": "Public Domain",
"versions": [
{
"value": "-",
"label": "-"
},
{
"value": "CC0 1.0",
"label": "CC0 1.0 Universal"
},
{
"value": "CC PDM",
"label": "Public Domain Mark"
}
]
},
{
"value": "C",
"label": "Copyright"
}
]
},
{
"name": "version",
"type": "select",
"label": "License Version",
"options": []
}
]
},
"metadataSemantics": [
{
"name": "title",
"type": "text",
"label": "Title",
"placeholder": "La Gioconda"
},
{
"name": "license",
"type": "select",
"label": "License",
"default": "U",
"options": [
{
"value": "U",
"label": "Undisclosed"
},
{
"type": "optgroup",
"label": "Creative Commons",
"options": [
{
"value": "CC BY",
"label": "Attribution (CC BY)",
"versions": [
{
"value": "4.0",
"label": "4.0 International"
},
{
"value": "3.0",
"label": "3.0 Unported"
},
{
"value": "2.5",
"label": "2.5 Generic"
},
{
"value": "2.0",
"label": "2.0 Generic"
},
{
"value": "1.0",
"label": "1.0 Generic"
}
]
},
{
"value": "CC BY-SA",
"label": "Attribution-ShareAlike (CC BY-SA)",
"versions": [
{
"value": "4.0",
"label": "4.0 International"
},
{
"value": "3.0",
"label": "3.0 Unported"
},
{
"value": "2.5",
"label": "2.5 Generic"
},
{
"value": "2.0",
"label": "2.0 Generic"
},
{
"value": "1.0",
"label": "1.0 Generic"
}
]
},
{
"value": "CC BY-ND",
"label": "Attribution-NoDerivs (CC BY-ND)",
"versions": [
{
"value": "4.0",
"label": "4.0 International"
},
{
"value": "3.0",
"label": "3.0 Unported"
},
{
"value": "2.5",
"label": "2.5 Generic"
},
{
"value": "2.0",
"label": "2.0 Generic"
},
{
"value": "1.0",
"label": "1.0 Generic"
}
]
},
{
"value": "CC BY-NC",
"label": "Attribution-NonCommercial (CC BY-NC)",
"versions": [
{
"value": "4.0",
"label": "4.0 International"
},
{
"value": "3.0",
"label": "3.0 Unported"
},
{
"value": "2.5",
"label": "2.5 Generic"
},
{
"value": "2.0",
"label": "2.0 Generic"
},
{
"value": "1.0",
"label": "1.0 Generic"
}
]
},
{
"value": "CC BY-NC-SA",
"label": "Attribution-NonCommercial-ShareAlike (CC BY-NC-SA)",
"versions": [
{
"value": "4.0",
"label": "4.0 International"
},
{
"value": "3.0",
"label": "3.0 Unported"
},
{
"value": "2.5",
"label": "2.5 Generic"
},
{
"value": "2.0",
"label": "2.0 Generic"
},
{
"value": "1.0",
"label": "1.0 Generic"
}
]
},
{
"value": "CC BY-NC-ND",
"label": "Attribution-NonCommercial-NoDerivs (CC BY-NC-ND)",
"versions": [
{
"value": "4.0",
"label": "4.0 International"
},
{
"value": "3.0",
"label": "3.0 Unported"
},
{
"value": "2.5",
"label": "2.5 Generic"
},
{
"value": "2.0",
"label": "2.0 Generic"
},
{
"value": "1.0",
"label": "1.0 Generic"
}
]
},
{
"value": "CC0 1.0",
"label": "Public Domain Dedication (CC0)"
},
{
"value": "CC PDM",
"label": "Public Domain Mark (PDM)"
}
]
},
{
"value": "GNU GPL",
"label": "General Public License v3"
},
{
"value": "PD",
"label": "Public Domain"
},
{
"value": "ODC PDDL",
"label": "Public Domain Dedication and Licence"
},
{
"value": "C",
"label": "Copyright"
}
]
},
{
"name": "licenseVersion",
"type": "select",
"label": "License Version",
"options": [
{
"value": "4.0",
"label": "4.0 International"
},
{
"value": "3.0",
"label": "3.0 Unported"
},
{
"value": "2.5",
"label": "2.5 Generic"
},
{
"value": "2.0",
"label": "2.0 Generic"
},
{
"value": "1.0",
"label": "1.0 Generic"
}
],
"optional": true
},
{
"name": "yearFrom",
"type": "number",
"label": "Years (from)",
"placeholder": "1991",
"min": "-9999",
"max": "9999",
"optional": true
},
{
"name": "yearTo",
"type": "number",
"label": "Years (to)",
"placeholder": "1992",
"min": "-9999",
"max": "9999",
"optional": true
},
{
"name": "source",
"type": "text",
"label": "Source",
"placeholder": "https://",
"optional": true
},
{
"name": "authors",
"type": "list",
"field": {
"name": "author",
"type": "group",
"fields": [
{
"label": "Author's name",
"name": "name",
"optional": true,
"type": "text"
},
{
"name": "role",
"type": "select",
"label": "Author's role",
"default": "Author",
"options": [
{
"value": "Author",
"label": "Author"
},
{
"value": "Editor",
"label": "Editor"
},
{
"value": "Licensee",
"label": "Licensee"
},
{
"value": "Originator",
"label": "Originator"
}
]
}
]
}
},
{
"name": "licenseExtras",
"type": "text",
"widget": "textarea",
"label": "License Extras",
"optional": true,
"description": "Any additional information about the license"
},
{
"name": "changes",
"type": "list",
"field": {
"name": "change",
"type": "group",
"label": "Changelog",
"fields": [
{
"name": "date",
"type": "text",
"label": "Date",
"optional": true
},
{
"name": "author",
"type": "text",
"label": "Changed by",
"optional": true
},
{
"name": "log",
"type": "text",
"widget": "textarea",
"label": "Description of change",
"placeholder": "Photo cropped, text changed, etc.",
"optional": true
}
]
}
},
{
"name": "authorComments",
"type": "text",
"widget": "textarea",
"label": "Author comments",
"description": "Comments for the editor of the content (This text will not be published as a part of copyright info)",
"optional": true
},
{
"name": "contentType",
"type": "text",
"widget": "none"
},
{
"name": "defaultLanguage",
"type": "text",
"widget": "none"
}
],
"assets": {
"css": [
"https://dev.currikistudio.org/api/storage/h5p/laravel-h5p/css/laravel-h5p.css",
"https://dev.currikistudio.org/api/storage/h5p/h5p-core/styles/h5p.css",
"https://dev.currikistudio.org/api/storage/h5p/h5p-core/styles/h5p-confirmation-dialog.css",
"https://dev.currikistudio.org/api/storage/h5p/h5p-core/styles/h5p-core-button.css",
"https://dev.currikistudio.org/api/storage/h5p/h5p-editor/libs/darkroom.css",
"https://dev.currikistudio.org/api/storage/h5p/h5p-editor/styles/css/h5p-hub-client.css",
"https://dev.currikistudio.org/api/storage/h5p/h5p-editor/styles/css/fonts.css",
"https://dev.currikistudio.org/api/storage/h5p/h5p-editor/styles/css/application.css",
"https://dev.currikistudio.org/api/storage/h5p/h5p-editor/styles/css/libs/zebra_datepicker.min.css"
],
"js": [
"https://dev.currikistudio.org/api/storage/h5p/h5p-core/js/jquery.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-core/js/h5p.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-core/js/h5p-event-dispatcher.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-core/js/h5p-x-api-event.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-core/js/h5p-x-api.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-core/js/h5p-content-type.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-core/js/h5p-confirmation-dialog.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-core/js/h5p-action-bar.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-core/js/request-queue.js",
"https://dev.currikistudio.org/api/storage/h5p/laravel-h5p/js/laravel-h5p.js",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-help-dialog.js?ver=1.3.9",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-message-dialog.js?ver=1.3.9",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-progress-circle.js?ver=1.3.9",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-simple-rounded-button.js?ver=1.3.9",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-speech-bubble.js?ver=1.3.9",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-throbber.js?ver=1.3.9",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-tip.js?ver=1.3.9",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-slider.js?ver=1.3.9",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-score-bar.js?ver=1.3.9",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-progressbar.js?ver=1.3.9",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-ui.js?ver=1.3.9",
"https://dev.currikistudio.org/api/storage/h5p/laravel-h5p/js/laravel-h5p-editor.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5p-hub-client.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-semantic-structure.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-library-selector.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-fullscreen-bar.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-form.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-text.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-html.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-number.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-textarea.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-file-uploader.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-file.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-image.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-image-popup.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-av.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-group.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-boolean.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-list.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-list-editor.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-library.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-library-list-cache.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-select.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-selector-hub.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-selector-legacy.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-dimensions.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-coordinates.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-none.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-metadata.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-metadata-author-widget.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-metadata-changelog-widget.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-pre-save.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-editor/ckeditor/ckeditor.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-editor/language/en.js"
]
},
"deleteMessage": "laravel-h5p.content.destoryed",
"apiVersion": {
"majorVersion": 1,
"minorVersion": 24
}
},
"loadedJs": [],
"loadedCss": [],
"core": {
"styles": [
"https://dev.currikistudio.org/api/storage/h5p/laravel-h5p/css/laravel-h5p.css",
"https://dev.currikistudio.org/api/storage/h5p/h5p-core/styles/h5p.css",
"https://dev.currikistudio.org/api/storage/h5p/h5p-core/styles/h5p-confirmation-dialog.css",
"https://dev.currikistudio.org/api/storage/h5p/h5p-core/styles/h5p-core-button.css"
],
"scripts": [
"https://dev.currikistudio.org/api/storage/h5p/h5p-core/js/jquery.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-core/js/h5p.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-core/js/h5p-event-dispatcher.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-core/js/h5p-x-api-event.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-core/js/h5p-x-api.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-core/js/h5p-content-type.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-core/js/h5p-confirmation-dialog.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-core/js/h5p-action-bar.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-core/js/request-queue.js",
"https://dev.currikistudio.org/api/storage/h5p/laravel-h5p/js/laravel-h5p.js",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-help-dialog.js?ver=1.3.9",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-message-dialog.js?ver=1.3.9",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-progress-circle.js?ver=1.3.9",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-simple-rounded-button.js?ver=1.3.9",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-speech-bubble.js?ver=1.3.9",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-throbber.js?ver=1.3.9",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-tip.js?ver=1.3.9",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-slider.js?ver=1.3.9",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-score-bar.js?ver=1.3.9",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-progressbar.js?ver=1.3.9",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-ui.js?ver=1.3.9"
]
},
"contents": {
"cid-54166": {
"library": "H5P.CoursePresentation 1.22",
"jsonContent": "{\"presentation\":{\"slides\":[{\"elements\":[{\"x\":29.956427015250547,\"y\":29.999999999999996,\"width\":40,\"height\":40,\"action\":{\"library\":\"H5P.AdvancedText 1.1\",\"params\":{\"text\":\"<p>Taurus 10 Jun 2022<\\/p>\\n\"},\"subContentId\":\"efa0c7bc-871b-4f2f-a79f-1ff2f3a3a88e\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Taurus 10 Jun 2022\"}},\"alwaysDisplayComments\":false,\"backgroundOpacity\":0,\"displayAsButton\":false,\"buttonSize\":\"big\",\"goToSlideType\":\"specified\",\"invisible\":false,\"solution\":\"\"}],\"slideBackgroundSelector\":{}}],\"keywordListEnabled\":true,\"globalBackgroundSelector\":{},\"keywordListAlwaysShow\":false,\"keywordListAutoHide\":false,\"keywordListOpacity\":90},\"override\":{\"activeSurface\":false,\"hideSummarySlide\":false,\"summarySlideSolutionButton\":true,\"summarySlideRetryButton\":true,\"enablePrintButton\":false,\"social\":{\"showFacebookShare\":false,\"facebookShare\":{\"url\":\"@currentpageurl\",\"quote\":\"I scored @score out of @maxScore on a task at @currentpageurl.\"},\"showTwitterShare\":false,\"twitterShare\":{\"statement\":\"I scored @score out of @maxScore on a task at @currentpageurl.\",\"url\":\"@currentpageurl\",\"hashtags\":\"h5p, course\"},\"showGoogleShare\":false,\"googleShareUrl\":\"@currentpageurl\"}},\"l10n\":{\"slide\":\"Slide\",\"score\":\"Score\",\"yourScore\":\"Your Score\",\"maxScore\":\"Max Score\",\"total\":\"Total\",\"totalScore\":\"Total Score\",\"showSolutions\":\"Show solutions\",\"retry\":\"Retry\",\"exportAnswers\":\"Export text\",\"hideKeywords\":\"Hide sidebar navigation menu\",\"showKeywords\":\"Show sidebar navigation menu\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit fullscreen\",\"prevSlide\":\"Previous slide\",\"nextSlide\":\"Next slide\",\"currentSlide\":\"Current slide\",\"lastSlide\":\"Last slide\",\"solutionModeTitle\":\"Exit solution mode\",\"solutionModeText\":\"Solution Mode\",\"summaryMultipleTaskText\":\"Multiple tasks\",\"scoreMessage\":\"You achieved:\",\"shareFacebook\":\"Share on Facebook\",\"shareTwitter\":\"Share on Twitter\",\"shareGoogle\":\"Share on Google+\",\"summary\":\"Summary\",\"solutionsButtonTitle\":\"Show comments\",\"printTitle\":\"Print\",\"printIngress\":\"How would you like to print this presentation?\",\"printAllSlides\":\"Print all slides\",\"printCurrentSlide\":\"Print current slide\",\"noTitle\":\"No title\",\"accessibilitySlideNavigationExplanation\":\"Use left and right arrow to change slide in that direction whenever canvas is selected.\",\"accessibilityCanvasLabel\":\"Presentation canvas. Use left and right arrow to move between slides.\",\"containsNotCompleted\":\"@slideName contains not completed interaction\",\"containsCompleted\":\"@slideName contains completed interaction\",\"slideCount\":\"Slide @index of @total\",\"containsOnlyCorrect\":\"@slideName only has correct answers\",\"containsIncorrectAnswers\":\"@slideName has incorrect answers\",\"shareResult\":\"Share Result\",\"accessibilityTotalScore\":\"You got @score of @maxScore points in total\",\"accessibilityEnteredFullscreen\":\"Entered fullscreen\",\"accessibilityExitedFullscreen\":\"Exited fullscreen\"}}",
"fullScreen": 1,
"exportUrl": "https://dev.currikistudio.org/api/api/v1/h5p/export/54166",
"embedCode": "<iframe src=\"https://dev.currikistudio.org/h5p/embed/54166\" width=\":w\" height=\":h\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"></iframe>",
"resizeCode": "<script src=\"https://dev.currikistudio.org/api/storage/h5p/h5p-core/js/h5p-resizer.js\" charset=\"UTF-8\"></script>",
"url": "http://dev.currikistudio.org/h5p/embed/54166",
"title": "Taurus 10 Jun 2022",
"displayOptions": {
"frame": true,
"export": true,
"embed": true,
"copyright": false,
"icon": true,
"copy": false
},
"contentUserData": [
{
"state": "{}"
}
],
"metadata": {
"title": "Taurus 10 Jun 2022",
"license": "U"
},
"scripts": [
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.AdvancedText-1.1/text.js?ver=1.1.11",
"https://dev.currikistudio.org/api/storage/h5p/libraries/Tether-1.0/scripts/tether.min.js?ver=1.0.2",
"https://dev.currikistudio.org/api/storage/h5p/libraries/Drop-1.0/js/drop.min.js?ver=1.0.2",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.Transition-1.0/transition.js?ver=1.0.4",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-help-dialog.js?ver=1.3.10",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-message-dialog.js?ver=1.3.10",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-progress-circle.js?ver=1.3.10",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-simple-rounded-button.js?ver=1.3.10",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-speech-bubble.js?ver=1.3.10",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-throbber.js?ver=1.3.10",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-tip.js?ver=1.3.10",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-slider.js?ver=1.3.10",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-score-bar.js?ver=1.3.10",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-progressbar.js?ver=1.3.10",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-ui.js?ver=1.3.10",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.CoursePresentation-1.22/dist/h5p-course-presentation.js?ver=1.22.2"
],
"styles": [
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.AdvancedText-1.1/text.css?ver=1.1.11",
"https://dev.currikistudio.org/api/storage/h5p/libraries/FontAwesome-4.5/h5p-font-awesome.min.css?ver=4.5.4",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.FontIcons-1.0/styles/h5p-font-icons.css?ver=1.0.6",
"https://dev.currikistudio.org/api/storage/h5p/libraries/Tether-1.0/styles/tether.min.css?ver=1.0.2",
"https://dev.currikistudio.org/api/storage/h5p/libraries/Drop-1.0/css/drop-theme-arrows-bounce.min.css?ver=1.0.2",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/css/joubel-help-dialog.css?ver=1.3.10",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/css/joubel-message-dialog.css?ver=1.3.10",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/css/joubel-progress-circle.css?ver=1.3.10",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/css/joubel-simple-rounded-button.css?ver=1.3.10",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/css/joubel-speech-bubble.css?ver=1.3.10",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/css/joubel-tip.css?ver=1.3.10",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/css/joubel-slider.css?ver=1.3.10",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/css/joubel-score-bar.css?ver=1.3.10",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/css/joubel-progressbar.css?ver=1.3.10",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/css/joubel-ui.css?ver=1.3.10",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/css/joubel-icon.css?ver=1.3.10",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.CoursePresentation-1.22/dist/h5p-course-presentation.css?ver=1.22.2"
]
}
}
},
"user": {
"id": 3,
"name": "Abby tester test",
"email": "abby@curriki.org"
},
"embed_code": "<div class=\"h5p-iframe-wrapper\"><iframe id=\"h5p-iframe-54166\" class=\"h5p-iframe\" data-content-id=\"54166\" style=\"height: 1px\" src=\"about:blank\" frameBorder=\"0\" scrolling=\"no\"></iframe></div>"
},
"created_at": "2022-06-10T01:49:20.000000Z",
"updated_at": "2022-06-10T01:58:23.000000Z"
}
}
Received response:
Request failed with error:
Share Independent Activity
Share the specified independent activity.
Remove Share Independent Activity
Remove share the specified independent activity.
Get Independent Activity Search Preview
Get the specified independent activity search preview.
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/suborganization/1/independent-activities/1/search-preview" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/suborganization/1/independent-activities/1/search-preview"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/suborganization/1/independent-activities/1/search-preview',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"h5p": {
"id": 54166,
"title": "Taurus 10 Jun 2022",
"params": "{\"presentation\":{\"slides\":[{\"elements\":[{\"x\":29.956427015250547,\"y\":29.999999999999996,\"width\":40,\"height\":40,\"action\":{\"library\":\"H5P.AdvancedText 1.1\",\"params\":{\"text\":\"<p>Taurus 10 Jun 2022<\\/p>\\n\"},\"subContentId\":\"efa0c7bc-871b-4f2f-a79f-1ff2f3a3a88e\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Taurus 10 Jun 2022\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Taurus 10 Jun 2022\"}},\"alwaysDisplayComments\":false,\"backgroundOpacity\":0,\"displayAsButton\":false,\"buttonSize\":\"big\",\"goToSlideType\":\"specified\",\"invisible\":false,\"solution\":\"\"}],\"keywords\":[],\"slideBackgroundSelector\":{}}],\"keywordListEnabled\":true,\"globalBackgroundSelector\":{},\"keywordListAlwaysShow\":false,\"keywordListAutoHide\":false,\"keywordListOpacity\":90},\"override\":{\"activeSurface\":false,\"hideSummarySlide\":false,\"summarySlideSolutionButton\":true,\"summarySlideRetryButton\":true,\"enablePrintButton\":false,\"social\":{\"showFacebookShare\":false,\"facebookShare\":{\"url\":\"@currentpageurl\",\"quote\":\"I scored @score out of @maxScore on a task at @currentpageurl.\"},\"showTwitterShare\":false,\"twitterShare\":{\"statement\":\"I scored @score out of @maxScore on a task at @currentpageurl.\",\"url\":\"@currentpageurl\",\"hashtags\":\"h5p, course\"},\"showGoogleShare\":false,\"googleShareUrl\":\"@currentpageurl\"}},\"l10n\":{\"slide\":\"Slide\",\"score\":\"Score\",\"yourScore\":\"Your Score\",\"maxScore\":\"Max Score\",\"total\":\"Total\",\"totalScore\":\"Total Score\",\"showSolutions\":\"Show solutions\",\"retry\":\"Retry\",\"exportAnswers\":\"Export text\",\"hideKeywords\":\"Hide sidebar navigation menu\",\"showKeywords\":\"Show sidebar navigation menu\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit fullscreen\",\"prevSlide\":\"Previous slide\",\"nextSlide\":\"Next slide\",\"currentSlide\":\"Current slide\",\"lastSlide\":\"Last slide\",\"solutionModeTitle\":\"Exit solution mode\",\"solutionModeText\":\"Solution Mode\",\"summaryMultipleTaskText\":\"Multiple tasks\",\"scoreMessage\":\"You achieved:\",\"shareFacebook\":\"Share on Facebook\",\"shareTwitter\":\"Share on Twitter\",\"shareGoogle\":\"Share on Google+\",\"summary\":\"Summary\",\"solutionsButtonTitle\":\"Show comments\",\"printTitle\":\"Print\",\"printIngress\":\"How would you like to print this presentation?\",\"printAllSlides\":\"Print all slides\",\"printCurrentSlide\":\"Print current slide\",\"noTitle\":\"No title\",\"accessibilitySlideNavigationExplanation\":\"Use left and right arrow to change slide in that direction whenever canvas is selected.\",\"accessibilityCanvasLabel\":\"Presentation canvas. Use left and right arrow to move between slides.\",\"containsNotCompleted\":\"@slideName contains not completed interaction\",\"containsCompleted\":\"@slideName contains completed interaction\",\"slideCount\":\"Slide @index of @total\",\"containsOnlyCorrect\":\"@slideName only has correct answers\",\"containsIncorrectAnswers\":\"@slideName has incorrect answers\",\"shareResult\":\"Share Result\",\"accessibilityTotalScore\":\"You got @score of @maxScore points in total\",\"accessibilityEnteredFullscreen\":\"Entered fullscreen\",\"accessibilityExitedFullscreen\":\"Exited fullscreen\"}}",
"filtered": "{\"presentation\":{\"slides\":[{\"elements\":[{\"x\":29.956427015250547,\"y\":29.999999999999996,\"width\":40,\"height\":40,\"action\":{\"library\":\"H5P.AdvancedText 1.1\",\"params\":{\"text\":\"<p>Taurus 10 Jun 2022<\\/p>\\n\"},\"subContentId\":\"efa0c7bc-871b-4f2f-a79f-1ff2f3a3a88e\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Taurus 10 Jun 2022\"}},\"alwaysDisplayComments\":false,\"backgroundOpacity\":0,\"displayAsButton\":false,\"buttonSize\":\"big\",\"goToSlideType\":\"specified\",\"invisible\":false,\"solution\":\"\"}],\"slideBackgroundSelector\":{}}],\"keywordListEnabled\":true,\"globalBackgroundSelector\":{},\"keywordListAlwaysShow\":false,\"keywordListAutoHide\":false,\"keywordListOpacity\":90},\"override\":{\"activeSurface\":false,\"hideSummarySlide\":false,\"summarySlideSolutionButton\":true,\"summarySlideRetryButton\":true,\"enablePrintButton\":false,\"social\":{\"showFacebookShare\":false,\"facebookShare\":{\"url\":\"@currentpageurl\",\"quote\":\"I scored @score out of @maxScore on a task at @currentpageurl.\"},\"showTwitterShare\":false,\"twitterShare\":{\"statement\":\"I scored @score out of @maxScore on a task at @currentpageurl.\",\"url\":\"@currentpageurl\",\"hashtags\":\"h5p, course\"},\"showGoogleShare\":false,\"googleShareUrl\":\"@currentpageurl\"}},\"l10n\":{\"slide\":\"Slide\",\"score\":\"Score\",\"yourScore\":\"Your Score\",\"maxScore\":\"Max Score\",\"total\":\"Total\",\"totalScore\":\"Total Score\",\"showSolutions\":\"Show solutions\",\"retry\":\"Retry\",\"exportAnswers\":\"Export text\",\"hideKeywords\":\"Hide sidebar navigation menu\",\"showKeywords\":\"Show sidebar navigation menu\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit fullscreen\",\"prevSlide\":\"Previous slide\",\"nextSlide\":\"Next slide\",\"currentSlide\":\"Current slide\",\"lastSlide\":\"Last slide\",\"solutionModeTitle\":\"Exit solution mode\",\"solutionModeText\":\"Solution Mode\",\"summaryMultipleTaskText\":\"Multiple tasks\",\"scoreMessage\":\"You achieved:\",\"shareFacebook\":\"Share on Facebook\",\"shareTwitter\":\"Share on Twitter\",\"shareGoogle\":\"Share on Google+\",\"summary\":\"Summary\",\"solutionsButtonTitle\":\"Show comments\",\"printTitle\":\"Print\",\"printIngress\":\"How would you like to print this presentation?\",\"printAllSlides\":\"Print all slides\",\"printCurrentSlide\":\"Print current slide\",\"noTitle\":\"No title\",\"accessibilitySlideNavigationExplanation\":\"Use left and right arrow to change slide in that direction whenever canvas is selected.\",\"accessibilityCanvasLabel\":\"Presentation canvas. Use left and right arrow to move between slides.\",\"containsNotCompleted\":\"@slideName contains not completed interaction\",\"containsCompleted\":\"@slideName contains completed interaction\",\"slideCount\":\"Slide @index of @total\",\"containsOnlyCorrect\":\"@slideName only has correct answers\",\"containsIncorrectAnswers\":\"@slideName has incorrect answers\",\"shareResult\":\"Share Result\",\"accessibilityTotalScore\":\"You got @score of @maxScore points in total\",\"accessibilityEnteredFullscreen\":\"Entered fullscreen\",\"accessibilityExitedFullscreen\":\"Exited fullscreen\"}}",
"slug": "taurus-10-jun-2022",
"user_id": 1,
"embedType": "div",
"disable": 9,
"libraryMajorVersion": 1,
"libraryMinorVersion": 22,
"authors": null,
"source": null,
"yearFrom": null,
"yearTo": null,
"licenseVersion": null,
"licenseExtras": null,
"authorComments": null,
"changes": null,
"defaultLanguage": null,
"metadata": {
"title": "Taurus 10 Jun 2022",
"license": "U"
},
"library": {
"id": 160,
"name": "H5P.CoursePresentation",
"majorVersion": 1,
"minorVersion": 22,
"embedTypes": "iframe",
"fullscreen": 1
},
"language": "en",
"tags": ""
},
"independent-activity": {
"id": 1,
"title": "Taurus 10 Jun 2022 edited",
"type": "h5p",
"content": "place_holder",
"description": null,
"shared": false,
"order": 7,
"thumb_url": "https://images.pexels.com/photos/420233/pexels-photo-420233.jpeg?auto=compress&cs=tinysrgb&dpr=1&fit=crop&h=200&w=280",
"created_at": "2022-06-10T01:49:20.000000Z",
"updated_at": "2022-06-10T01:58:23.000000Z",
"gcr_activity_visibility": true,
"subjects": [],
"education_levels": [],
"author_tags": [],
"source_type": null,
"source_url": null,
"organization_visibility_type_id": 4,
"status": 2,
"status_text": "FINISHED",
"indexing": 3,
"indexing_text": "APPROVED",
"user": {
"id": 3,
"name": "Abby tester test",
"email": "abby@curriki.org",
"email_verified_at": "2020-09-11T23:52:44.000000Z",
"created_at": "2020-04-06T20:47:21.000000Z",
"updated_at": "2022-06-14T09:32:00.000000Z",
"first_name": "Abby tester",
"last_name": "test",
"organization_name": "Curriki",
"job_title": "PM",
"address": null,
"phone_number": "4543543543",
"organization_type": "K-12",
"website": null,
"deleted_at": null,
"role": null,
"gapi_access_token": "{\"token_type\":\"Bearer\",\"access_token\":\"ya29.a0ARrdaM-BKypS4SFslL_n_LjqfIhQkoZjsLbi7YVPNSIjlIYfxRsB_B-0cCObtILu5Cereaa1GrVVO-1U0O3v6rgVaqfqq9n3jJM8cZueVYGSJxhhCtGMnWoZ5Ni9Exi2uVxC9rXR17T1p-NgWwUddYZInBO8Fk0\",\"scope\":\"email profile https://www.googleapis.com/auth/classroom.coursework.students https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/classroom.courses.readonly https://www.googleapis.com/auth/classroom.coursework.me https://www.googleapis.com/auth/classroom.topics https://www.googleapis.com/auth/classroom.courses openid https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/classroom.rosters.readonly\",\"login_hint\":\"AJDLj6IhjPEjK-HinFn0-xSdbBgjitIliFKMmP0IT37J-BCTcA7-DF5lesECWi3460LMx3a9xrFCjvBSgPqjknqtmIdAXn5G9LXjf_CP3rxipnDlrfmpZzU\",\"expires_in\":3599,\"id_token\":\"eyJhbGciOiJSUzI1NiIsImtpZCI6Ijc0ODNhMDg4ZDRmZmMwMDYwOWYwZTIyZjNjMjJkYTVmZTM5MDZjY2MiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJhY2NvdW50cy5nb29nbGUuY29tIiwiYXpwIjoiODk4MTQzOTM5ODM0LTlpb3VpMmk5Z2hncm1jZ21ndGcwaDZyc2Y4M2QwdDBjLmFwcHMuZ29vZ2xldXNlcmNvbnRlbnQuY29tIiwiYXVkIjoiODk4MTQzOTM5ODM0LTlpb3VpMmk5Z2hncm1jZ21ndGcwaDZyc2Y4M2QwdDBjLmFwcHMuZ29vZ2xldXNlcmNvbnRlbnQuY29tIiwic3ViIjoiMTA2MjM0MTAzNzYwNjM5NzYzMzA1IiwiZW1haWwiOiJmYWhhZC5jdXJyaWtpQGdtYWlsLmNvbSIsImVtYWlsX3ZlcmlmaWVkIjp0cnVlLCJhdF9oYXNoIjoiTkZ6dFR2ZnNDdUNTMG5aQmRzZDlyUSIsIm5hbWUiOiJGYWhhZCBGYXJydWtoIiwicGljdHVyZSI6Imh0dHBzOi8vbGgzLmdvb2dsZXVzZXJjb250ZW50LmNvbS9hL0FBVFhBSnlfSkxxMTZfRnlSSTJEQTdxdEdyc21uZHIyVHdwUG1BMUhYbVY4PXM5Ni1jIiwiZ2l2ZW5fbmFtZSI6IkZhaGFkIiwiZmFtaWx5X25hbWUiOiJGYXJydWtoIiwibG9jYWxlIjoiZW4iLCJpYXQiOjE2NTQ4MjYyMTgsImV4cCI6MTY1NDgyOTgxOCwianRpIjoiNmM3ZGZhMmYwZDllYTA4ZDNjNzY2ZjJlMTU4MmYxODI5ZjRkMjQxNSJ9.UHc3Hy2rdm190fGbjFjkAoulIYvlAYSaUa6EALqB32mr2ZO4RVxY85nKxeN1GxqXySgCdtNMfmBnRmr7JO7t4qMipuIHCCNLFd3rbh9QJ9z5HuK08gxgKT1IWgfEqzjA9nqX59TDY-3yK41gbIzUR2buXUdIM6EpA9lYW11-gh053wUdKk0zwmgeTRpiJ1qttRV3C50E53mzC61T2bLk56kLXiQPHx6C9LwFoTYtqJq5COILD3Tzg29XXldE7zKszDRUEJFMT9_GvFNsjfJTGv7dPhzxiLeOCs0cjbpJuGyFaYaRyOYvILqDjJH9wYF8KbalnhN9g-HOXDNZk0nphA\",\"session_state\":{\"extraQueryParams\":{\"authuser\":\"0\"}},\"first_issued_at\":1654826218249,\"expires_at\":1654829817249,\"idpId\":\"google\"}",
"hubspot": true,
"subscribed": true,
"subscribed_ip": "192.168.96.10",
"membership_type_id": 2,
"temp_password": null
},
"h5p_content": {
"id": 54166,
"created_at": "2022-06-10T01:49:20.000000Z",
"updated_at": "2022-06-10T01:49:20.000000Z",
"user_id": 1,
"title": "Taurus 10 Jun 2022",
"library_id": 160,
"parameters": "{\"presentation\":{\"slides\":[{\"elements\":[{\"x\":29.956427015250547,\"y\":29.999999999999996,\"width\":40,\"height\":40,\"action\":{\"library\":\"H5P.AdvancedText 1.1\",\"params\":{\"text\":\"<p>Taurus 10 Jun 2022<\\/p>\\n\"},\"subContentId\":\"efa0c7bc-871b-4f2f-a79f-1ff2f3a3a88e\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Taurus 10 Jun 2022\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Taurus 10 Jun 2022\"}},\"alwaysDisplayComments\":false,\"backgroundOpacity\":0,\"displayAsButton\":false,\"buttonSize\":\"big\",\"goToSlideType\":\"specified\",\"invisible\":false,\"solution\":\"\"}],\"keywords\":[],\"slideBackgroundSelector\":{}}],\"keywordListEnabled\":true,\"globalBackgroundSelector\":{},\"keywordListAlwaysShow\":false,\"keywordListAutoHide\":false,\"keywordListOpacity\":90},\"override\":{\"activeSurface\":false,\"hideSummarySlide\":false,\"summarySlideSolutionButton\":true,\"summarySlideRetryButton\":true,\"enablePrintButton\":false,\"social\":{\"showFacebookShare\":false,\"facebookShare\":{\"url\":\"@currentpageurl\",\"quote\":\"I scored @score out of @maxScore on a task at @currentpageurl.\"},\"showTwitterShare\":false,\"twitterShare\":{\"statement\":\"I scored @score out of @maxScore on a task at @currentpageurl.\",\"url\":\"@currentpageurl\",\"hashtags\":\"h5p, course\"},\"showGoogleShare\":false,\"googleShareUrl\":\"@currentpageurl\"}},\"l10n\":{\"slide\":\"Slide\",\"score\":\"Score\",\"yourScore\":\"Your Score\",\"maxScore\":\"Max Score\",\"total\":\"Total\",\"totalScore\":\"Total Score\",\"showSolutions\":\"Show solutions\",\"retry\":\"Retry\",\"exportAnswers\":\"Export text\",\"hideKeywords\":\"Hide sidebar navigation menu\",\"showKeywords\":\"Show sidebar navigation menu\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit fullscreen\",\"prevSlide\":\"Previous slide\",\"nextSlide\":\"Next slide\",\"currentSlide\":\"Current slide\",\"lastSlide\":\"Last slide\",\"solutionModeTitle\":\"Exit solution mode\",\"solutionModeText\":\"Solution Mode\",\"summaryMultipleTaskText\":\"Multiple tasks\",\"scoreMessage\":\"You achieved:\",\"shareFacebook\":\"Share on Facebook\",\"shareTwitter\":\"Share on Twitter\",\"shareGoogle\":\"Share on Google+\",\"summary\":\"Summary\",\"solutionsButtonTitle\":\"Show comments\",\"printTitle\":\"Print\",\"printIngress\":\"How would you like to print this presentation?\",\"printAllSlides\":\"Print all slides\",\"printCurrentSlide\":\"Print current slide\",\"noTitle\":\"No title\",\"accessibilitySlideNavigationExplanation\":\"Use left and right arrow to change slide in that direction whenever canvas is selected.\",\"accessibilityCanvasLabel\":\"Presentation canvas. Use left and right arrow to move between slides.\",\"containsNotCompleted\":\"@slideName contains not completed interaction\",\"containsCompleted\":\"@slideName contains completed interaction\",\"slideCount\":\"Slide @index of @total\",\"containsOnlyCorrect\":\"@slideName only has correct answers\",\"containsIncorrectAnswers\":\"@slideName has incorrect answers\",\"shareResult\":\"Share Result\",\"accessibilityTotalScore\":\"You got @score of @maxScore points in total\",\"accessibilityEnteredFullscreen\":\"Entered fullscreen\",\"accessibilityExitedFullscreen\":\"Exited fullscreen\"}}",
"filtered": "{\"presentation\":{\"slides\":[{\"elements\":[{\"x\":29.956427015250547,\"y\":29.999999999999996,\"width\":40,\"height\":40,\"action\":{\"library\":\"H5P.AdvancedText 1.1\",\"params\":{\"text\":\"<p>Taurus 10 Jun 2022<\\/p>\\n\"},\"subContentId\":\"efa0c7bc-871b-4f2f-a79f-1ff2f3a3a88e\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Taurus 10 Jun 2022\"}},\"alwaysDisplayComments\":false,\"backgroundOpacity\":0,\"displayAsButton\":false,\"buttonSize\":\"big\",\"goToSlideType\":\"specified\",\"invisible\":false,\"solution\":\"\"}],\"slideBackgroundSelector\":{}}],\"keywordListEnabled\":true,\"globalBackgroundSelector\":{},\"keywordListAlwaysShow\":false,\"keywordListAutoHide\":false,\"keywordListOpacity\":90},\"override\":{\"activeSurface\":false,\"hideSummarySlide\":false,\"summarySlideSolutionButton\":true,\"summarySlideRetryButton\":true,\"enablePrintButton\":false,\"social\":{\"showFacebookShare\":false,\"facebookShare\":{\"url\":\"@currentpageurl\",\"quote\":\"I scored @score out of @maxScore on a task at @currentpageurl.\"},\"showTwitterShare\":false,\"twitterShare\":{\"statement\":\"I scored @score out of @maxScore on a task at @currentpageurl.\",\"url\":\"@currentpageurl\",\"hashtags\":\"h5p, course\"},\"showGoogleShare\":false,\"googleShareUrl\":\"@currentpageurl\"}},\"l10n\":{\"slide\":\"Slide\",\"score\":\"Score\",\"yourScore\":\"Your Score\",\"maxScore\":\"Max Score\",\"total\":\"Total\",\"totalScore\":\"Total Score\",\"showSolutions\":\"Show solutions\",\"retry\":\"Retry\",\"exportAnswers\":\"Export text\",\"hideKeywords\":\"Hide sidebar navigation menu\",\"showKeywords\":\"Show sidebar navigation menu\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit fullscreen\",\"prevSlide\":\"Previous slide\",\"nextSlide\":\"Next slide\",\"currentSlide\":\"Current slide\",\"lastSlide\":\"Last slide\",\"solutionModeTitle\":\"Exit solution mode\",\"solutionModeText\":\"Solution Mode\",\"summaryMultipleTaskText\":\"Multiple tasks\",\"scoreMessage\":\"You achieved:\",\"shareFacebook\":\"Share on Facebook\",\"shareTwitter\":\"Share on Twitter\",\"shareGoogle\":\"Share on Google+\",\"summary\":\"Summary\",\"solutionsButtonTitle\":\"Show comments\",\"printTitle\":\"Print\",\"printIngress\":\"How would you like to print this presentation?\",\"printAllSlides\":\"Print all slides\",\"printCurrentSlide\":\"Print current slide\",\"noTitle\":\"No title\",\"accessibilitySlideNavigationExplanation\":\"Use left and right arrow to change slide in that direction whenever canvas is selected.\",\"accessibilityCanvasLabel\":\"Presentation canvas. Use left and right arrow to move between slides.\",\"containsNotCompleted\":\"@slideName contains not completed interaction\",\"containsCompleted\":\"@slideName contains completed interaction\",\"slideCount\":\"Slide @index of @total\",\"containsOnlyCorrect\":\"@slideName only has correct answers\",\"containsIncorrectAnswers\":\"@slideName has incorrect answers\",\"shareResult\":\"Share Result\",\"accessibilityTotalScore\":\"You got @score of @maxScore points in total\",\"accessibilityEnteredFullscreen\":\"Entered fullscreen\",\"accessibilityExitedFullscreen\":\"Exited fullscreen\"}}",
"slug": "taurus-10-jun-2022",
"embed_type": "div",
"disable": 9,
"content_type": null,
"authors": null,
"source": null,
"year_from": null,
"year_to": null,
"license": "U",
"license_version": null,
"license_extras": null,
"author_comments": null,
"changes": null,
"default_language": null
}
}
}
Received response:
Request failed with error:
Clone Independent Activity
Clone the specified independent activity of an suborganization.
Example request:
curl --request POST \
"http://localhost:8000/api/v1/suborganization/1/independent-activities/19/clone" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/suborganization/1/independent-activities/19/clone"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/suborganization/1/independent-activities/19/clone',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "Independent Activity is being cloned|duplicated in background!"
}
Example response (400):
{
"errors": [
"Not a Public Independent Activity."
]
}
Example response (500):
{
"errors": [
"Failed to clone independent activity."
]
}
Received response:
Request failed with error:
Export Independent Activity
Export the specified activity of a user.
Example request:
curl --request POST \
"http://localhost:8000/api/v1/suborganization/1/independent-activities/18/export" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/suborganization/1/independent-activities/18/export"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/suborganization/1/independent-activities/18/export',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "Your request to export independent Activity [title] has been received and is being processed."
}
Received response:
Request failed with error:
Import Independent Activity
Import the specified independent activity of a user.
Example request:
curl --request POST \
"http://localhost:8000/api/v1/suborganization/1/independent-activities/import" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"independent_activity\": \"amet\"
}"
const url = new URL(
"http://localhost:8000/api/v1/suborganization/1/independent-activities/import"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"independent_activity": "amet"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/suborganization/1/independent-activities/import',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'independent_activity' => 'amet',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "Your request to import independent activity has been received and is being processed."
}
Received response:
Request failed with error:
Copy Independent Activity into Playlist
Clone the specified independent activity of an suborganization and link with a playlist.
Example request:
curl --request POST \
"http://localhost:8000/api/v1/suborganization/1/independent-activities/14/playlist/186/copy-to-playlist" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/suborganization/1/independent-activities/14/playlist/186/copy-to-playlist"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/suborganization/1/independent-activities/14/playlist/186/copy-to-playlist',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "Independent Activity is being copied in background!"
}
Example response (400):
{
"errors": [
"Not a Public Independent Activity."
]
}
Example response (500):
{
"errors": [
"Failed to copy independent activity."
]
}
Received response:
Request failed with error:
Move Independent Activity into Playlist
Move the specified independent activity of an suborganization and link with a playlist.
Example request:
curl --request POST \
"http://localhost:8000/api/v1/suborganization/1/independent-activities/playlist/186/move-to-playlist" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"independentActivityIds\": [
1,
2
]
}"
const url = new URL(
"http://localhost:8000/api/v1/suborganization/1/independent-activities/playlist/186/move-to-playlist"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"independentActivityIds": [
1,
2
]
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/suborganization/1/independent-activities/playlist/186/move-to-playlist',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'independentActivityIds' => [
1,
2,
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "Your request to add independent activity into playlist [playlistTitle] has been received and is being processed.<br> You will be alerted in the notification section in the title bar when complete."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"independentActivityIds.0": [
"Activities that are moving to projects should have share disabled and library preference should be private."
]
}
}
Received response:
Request failed with error:
Copy Activity into Independent Activity
Copy the specified activity of an suborganization into an independent activity.
Example request:
curl --request POST \
"http://localhost:8000/api/v1/suborganization/1/independent-activities/activity/761/copy-to-independent-activity" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/suborganization/1/independent-activities/activity/761/copy-to-independent-activity"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/suborganization/1/independent-activities/activity/761/copy-to-independent-activity',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "Your request to copy activity [activity->title] into independent activity has been received and is being processed.<br> You will be alerted in the notification section in the title bar when completed."
}
Received response:
Request failed with error:
GET api/v1/independent-activities/{id}/h5p-activity
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/independent-activities/15/h5p-activity" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/independent-activities/15/h5p-activity"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/independent-activities/15/h5p-activity',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (500):
Show headers
cache-control: no-cache, private
content-type: application/json
{
"message": "Unable to read key from file file://D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\storage\\oauth-public.key",
"exception": "LogicException",
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\league\\oauth2-server\\src\\CryptKey.php",
"line": 67,
"trace": [
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\passport\\src\\PassportServiceProvider.php",
"line": 275,
"function": "__construct",
"class": "League\\OAuth2\\Server\\CryptKey",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\passport\\src\\PassportServiceProvider.php",
"line": 256,
"function": "makeCryptKey",
"class": "Laravel\\Passport\\PassportServiceProvider",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 873,
"function": "Laravel\\Passport\\{closure}",
"class": "Laravel\\Passport\\PassportServiceProvider",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 758,
"function": "build",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Application.php",
"line": 851,
"function": "resolve",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 694,
"function": "resolve",
"class": "Illuminate\\Foundation\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Application.php",
"line": 836,
"function": "make",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\passport\\src\\PassportServiceProvider.php",
"line": 304,
"function": "make",
"class": "Illuminate\\Foundation\\Application",
"type": "->"
},
{
"function": "Laravel\\Passport\\{closure}",
"class": "Laravel\\Passport\\PassportServiceProvider",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\RequestGuard.php",
"line": 58,
"function": "call_user_func"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\GuardHelpers.php",
"line": 60,
"function": "user",
"class": "Illuminate\\Auth\\RequestGuard",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\Middleware\\Authenticate.php",
"line": 63,
"function": "check",
"class": "Illuminate\\Auth\\RequestGuard",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\Middleware\\Authenticate.php",
"line": 42,
"function": "authenticate",
"class": "Illuminate\\Auth\\Middleware\\Authenticate",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Auth\\Middleware\\Authenticate",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 103,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 723,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 698,
"function": "runRouteWithinStack",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 662,
"function": "runRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 651,
"function": "dispatchToRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 167,
"function": "dispatch",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 128,
"function": "Illuminate\\Foundation\\Http\\{closure}",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull.php",
"line": 31,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TrimStrings.php",
"line": 40,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TrimStrings",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize.php",
"line": 27,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance.php",
"line": 86,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\app\\Http\\Middleware\\Cors.php",
"line": 40,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "App\\Http\\Middleware\\Cors",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\fideloper\\proxy\\src\\TrustProxies.php",
"line": 57,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Fideloper\\Proxy\\TrustProxies",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 103,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 142,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 111,
"function": "sendRequestThroughRouter",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 299,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 287,
"function": "callLaravelOrLumenRoute",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 89,
"function": "makeApiCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 45,
"function": "makeResponseCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 35,
"function": "makeResponseCallIfConditionsPass",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 222,
"function": "__invoke",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 179,
"function": "iterateThroughStrategies",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 116,
"function": "fetchResponses",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 123,
"function": "processRoute",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 80,
"function": "extractEndpointsInfoFromLaravelApp",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 56,
"function": "extractEndpointsInfoAndWriteToDisk",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Commands\\GenerateDocumentation.php",
"line": 55,
"function": "get",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 36,
"function": "handle",
"class": "Knuckles\\Scribe\\Commands\\GenerateDocumentation",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Util.php",
"line": 40,
"function": "Illuminate\\Container\\{closure}",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 93,
"function": "unwrapIfClosure",
"class": "Illuminate\\Container\\Util",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 37,
"function": "callBoundMethod",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 653,
"function": "call",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
"line": 136,
"function": "call",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Command\\Command.php",
"line": 298,
"function": "execute",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
"line": 121,
"function": "run",
"class": "Symfony\\Component\\Console\\Command\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 1040,
"function": "run",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 301,
"function": "doRunCommand",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 171,
"function": "doRun",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Application.php",
"line": 94,
"function": "run",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Console\\Kernel.php",
"line": 129,
"function": "run",
"class": "Illuminate\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\artisan",
"line": 37,
"function": "handle",
"class": "Illuminate\\Foundation\\Console\\Kernel",
"type": "->"
}
]
}
Received response:
Request failed with error:
Get All Organization Independent Activities
Get a list of the independent activities of an organization.
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/suborganizations/1/independent-activities" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"query\": \"Video\",
\"indexing\": \"0\",
\"shared\": true,
\"created_from\": \"2022-12-01\",
\"created_to\": \"2022-12-01\",
\"updated_from\": \"2022-12-01\",
\"updated_to\": \"2022-12-01\",
\"author_id\": 15,
\"order_by_column\": \"title\",
\"order_by_type\": \"asc\",
\"size\": 10
}"
const url = new URL(
"http://localhost:8000/api/v1/suborganizations/1/independent-activities"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"query": "Video",
"indexing": "0",
"shared": true,
"created_from": "2022-12-01",
"created_to": "2022-12-01",
"updated_from": "2022-12-01",
"updated_to": "2022-12-01",
"author_id": 15,
"order_by_column": "title",
"order_by_type": "asc",
"size": 10
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/suborganizations/1/independent-activities',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'query' => 'Video',
'indexing' => '0',
'shared' => true,
'created_from' => '2022-12-01',
'created_to' => '2022-12-01',
'updated_from' => '2022-12-01',
'updated_to' => '2022-12-01',
'author_id' => 15,
'order_by_column' => 'title',
'order_by_type' => 'asc',
'size' => 10,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": [
{
"id": 7,
"title": "title",
"type": "h5p",
"content": "place_holder",
"description": null,
"shared": false,
"order": 0,
"thumb_url": null,
"created_at": "2022-04-28T01:03:22.000000Z",
"updated_at": "2022-04-28T01:03:22.000000Z",
"gcr_activity_visibility": false,
"subjects": [
{
"id": 1,
"name": "Arts",
"order": null,
"organization_id": 63,
"created_at": "2022-04-21T12:41:25.000000Z",
"updated_at": null
}
],
"education_levels": [
{
"id": 1,
"name": "Preschool (Ages 0-4)",
"order": null,
"organization_id": 63,
"created_at": "2022-04-20T17:33:20.000000Z",
"updated_at": null
}
],
"author_tags": [
{
"id": 1,
"name": "Homework/Assignment",
"order": null,
"organization_id": 63,
"created_at": "2022-04-20T17:38:02.000000Z",
"updated_at": null
}
],
"source_type": null,
"source_url": null,
"organization_visibility_type_id": 1,
"status": 1,
"status_text": "DRAFT",
"indexing": null,
"indexing_text": "NOT REQUESTED",
"user": {
"id": 3,
"name": "Abby _",
"email": "abby@curriki.org",
"email_verified_at": "2020-09-11T23:52:44.000000Z",
"created_at": "2020-04-06T20:47:21.000000Z",
"updated_at": "2021-05-03T19:24:58.000000Z",
"first_name": "Abby",
"last_name": "_",
"organization_name": "",
"job_title": "",
"address": null,
"phone_number": null,
"organization_type": null,
"website": null,
"deleted_at": null,
"role": null,
"gapi_access_token": "{\"token_type\":\"Bearer\",\"access_token\":\"ya29.a0AfH6SMA9EL2ZjzTyPOIv3cgdm7VZ6JHJ3WHgqaaYZJY4X5mKhq417RjMKiCOS36tu1E3sOwNALtVBTamNE_XyNLeDak-xZuU4lAtLV1Ap0Gi19AN10vpj5Sg57AJ3KgrT4G3THYkGF3y0BZ4r38QhdAvydlpkfn_KwCZBQ\",\"scope\":\"email profile https:\\/\\/www.googleapis.com\\/auth\\/classroom.courses openid https:\\/\\/www.googleapis.com\\/auth\\/classroom.courses.readonly https:\\/\\/www.googleapis.com\\/auth\\/userinfo.email https:\\/\\/www.googleapis.com\\/auth\\/classroom.topics https:\\/\\/www.googleapis.com\\/auth\\/classroom.coursework.me https:\\/\\/www.googleapis.com\\/auth\\/classroom.coursework.students https:\\/\\/www.googleapis.com\\/auth\\/userinfo.profile\",\"login_hint\":\"AJDLj6LgfEhLCFgVLEzicO4eYW1YOkD2Ocu__Xw4RutMMX9v-B-BEo_pAMXjGBSn6gx8S9fToe9FpA7M_OwrbGosxzx3LBuA28SCV2kIKwPd_qmJ2ctCRP4\",\"expires_in\":3599,\"id_token\":\"eyJhbGciOiJSUzI1NiIsImtpZCI6IjRiODNmMTgwMjNhODU1NTg3Zjk0MmU3NTEwMjI1MTEyMDg4N2Y3MjUiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJhY2NvdW50cy5nb29nbGUuY29tIiwiYXpwIjoiODk4MTQzOTM5ODM0LTlpb3VpMmk5Z2hncm1jZ21ndGcwaDZyc2Y4M2QwdDBjLmFwcHMuZ29vZ2xldXNlcmNvbnRlbnQuY29tIiwiYXVkIjoiODk4MTQzOTM5ODM0LTlpb3VpMmk5Z2hncm1jZ21ndGcwaDZyc2Y4M2QwdDBjLmFwcHMuZ29vZ2xldXNlcmNvbnRlbnQuY29tIiwic3ViIjoiMTE0MzA3NzE2NTQwNTMzODE4OTQzIiwiaGQiOiJjdXJyaWtpLm9yZyIsImVtYWlsIjoiYWJieUBjdXJyaWtpLm9yZyIsImVtYWlsX3ZlcmlmaWVkIjp0cnVlLCJhdF9oYXNoIjoiSXBlejh3cm5uUmU3Y3p6U1NidFlJdyIsIm5hbWUiOiJBYmJ5IFJvc3MiLCJwaWN0dXJlIjoiaHR0cHM6Ly9saDMuZ29vZ2xldXNlcmNvbnRlbnQuY29tL2EtL0FPaDE0R2cwYUVyeDRwUE1ZOVRPQXJiZ01KX3ZybHdsSzB6SEdBNVp3dFlVPXM5Ni1jIiwiZ2l2ZW5fbmFtZSI6IkFiYnkiLCJmYW1pbHlfbmFtZSI6IlJvc3MiLCJsb2NhbGUiOiJlbiIsImlhdCI6MTYwMDM3NDQ4NywiZXhwIjoxNjAwMzc4MDg3LCJqdGkiOiI3NmUzNjU5M2I1NWEwYjhkMDBlZDZiODRmMmFmMmRiZmVkNDFhN2RhIn0.i9YToGr1CNLtk6zHX2f6dmP4PGB5ibyxFOFisPRvxe1YZvenGpyEh3MlSMkURvHzo2RGmYGkdhpJYHtn2b_TOqbsNsx61DUE4BTME5O_4-VcR-c_YDYFn6K3MpsrYLbSxDKTgdSJbA56B8-s726QzcFEixkU5mtaK5gbO4Zb32U94qF1_ziJ5XcEtaJt1kBY8oY15d3ubXJl-zLyh-fB9K4mqssqqWABbLAtJQycfx5x-9ks6iVHYXq-_tdnfadm7HBYROlcYzKc7VJkOAP5z-e05Zqx9C1NUXpW_-gFwiHazbC7_N_-UihSej2m3qULtIdgZMtT6fid4_LftXc38Q\",\"session_state\":{\"extraQueryParams\":{\"authuser\":\"1\"}},\"first_issued_at\":1600374485776,\"expires_at\":1600378084776,\"idpId\":\"google\"}",
"hubspot": true,
"subscribed": true,
"subscribed_ip": "192.168.96.10",
"membership_type_id": 2,
"temp_password": null
},
"h5p_content": null
},
{
"id": 6,
"title": "title",
"type": "h5p",
"content": "place_holder",
"description": null,
"shared": false,
"order": 1,
"thumb_url": null,
"created_at": "2022-04-28T00:33:33.000000Z",
"updated_at": "2022-05-19T12:16:05.000000Z",
"gcr_activity_visibility": false,
"subjects": [],
"education_levels": [],
"author_tags": [],
"source_type": null,
"source_url": null,
"organization_visibility_type_id": 4,
"status": 2,
"status_text": "FINISHED",
"indexing": 1,
"indexing_text": "REQUESTED",
"user": {
"id": 3,
"name": "Abby _",
"email": "abby@curriki.org",
"email_verified_at": "2020-09-11T23:52:44.000000Z",
"created_at": "2020-04-06T20:47:21.000000Z",
"updated_at": "2021-05-03T19:24:58.000000Z",
"first_name": "Abby",
"last_name": "_",
"organization_name": "",
"job_title": "",
"address": null,
"phone_number": null,
"organization_type": null,
"website": null,
"deleted_at": null,
"role": null,
"gapi_access_token": "{\"token_type\":\"Bearer\",\"access_token\":\"ya29.a0AfH6SMA9EL2ZjzTyPOIv3cgdm7VZ6JHJ3WHgqaaYZJY4X5mKhq417RjMKiCOS36tu1E3sOwNALtVBTamNE_XyNLeDak-xZuU4lAtLV1Ap0Gi19AN10vpj5Sg57AJ3KgrT4G3THYkGF3y0BZ4r38QhdAvydlpkfn_KwCZBQ\",\"scope\":\"email profile https:\\/\\/www.googleapis.com\\/auth\\/classroom.courses openid https:\\/\\/www.googleapis.com\\/auth\\/classroom.courses.readonly https:\\/\\/www.googleapis.com\\/auth\\/userinfo.email https:\\/\\/www.googleapis.com\\/auth\\/classroom.topics https:\\/\\/www.googleapis.com\\/auth\\/classroom.coursework.me https:\\/\\/www.googleapis.com\\/auth\\/classroom.coursework.students https:\\/\\/www.googleapis.com\\/auth\\/userinfo.profile\",\"login_hint\":\"AJDLj6LgfEhLCFgVLEzicO4eYW1YOkD2Ocu__Xw4RutMMX9v-B-BEo_pAMXjGBSn6gx8S9fToe9FpA7M_OwrbGosxzx3LBuA28SCV2kIKwPd_qmJ2ctCRP4\",\"expires_in\":3599,\"id_token\":\"eyJhbGciOiJSUzI1NiIsImtpZCI6IjRiODNmMTgwMjNhODU1NTg3Zjk0MmU3NTEwMjI1MTEyMDg4N2Y3MjUiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJhY2NvdW50cy5nb29nbGUuY29tIiwiYXpwIjoiODk4MTQzOTM5ODM0LTlpb3VpMmk5Z2hncm1jZ21ndGcwaDZyc2Y4M2QwdDBjLmFwcHMuZ29vZ2xldXNlcmNvbnRlbnQuY29tIiwiYXVkIjoiODk4MTQzOTM5ODM0LTlpb3VpMmk5Z2hncm1jZ21ndGcwaDZyc2Y4M2QwdDBjLmFwcHMuZ29vZ2xldXNlcmNvbnRlbnQuY29tIiwic3ViIjoiMTE0MzA3NzE2NTQwNTMzODE4OTQzIiwiaGQiOiJjdXJyaWtpLm9yZyIsImVtYWlsIjoiYWJieUBjdXJyaWtpLm9yZyIsImVtYWlsX3ZlcmlmaWVkIjp0cnVlLCJhdF9oYXNoIjoiSXBlejh3cm5uUmU3Y3p6U1NidFlJdyIsIm5hbWUiOiJBYmJ5IFJvc3MiLCJwaWN0dXJlIjoiaHR0cHM6Ly9saDMuZ29vZ2xldXNlcmNvbnRlbnQuY29tL2EtL0FPaDE0R2cwYUVyeDRwUE1ZOVRPQXJiZ01KX3ZybHdsSzB6SEdBNVp3dFlVPXM5Ni1jIiwiZ2l2ZW5fbmFtZSI6IkFiYnkiLCJmYW1pbHlfbmFtZSI6IlJvc3MiLCJsb2NhbGUiOiJlbiIsImlhdCI6MTYwMDM3NDQ4NywiZXhwIjoxNjAwMzc4MDg3LCJqdGkiOiI3NmUzNjU5M2I1NWEwYjhkMDBlZDZiODRmMmFmMmRiZmVkNDFhN2RhIn0.i9YToGr1CNLtk6zHX2f6dmP4PGB5ibyxFOFisPRvxe1YZvenGpyEh3MlSMkURvHzo2RGmYGkdhpJYHtn2b_TOqbsNsx61DUE4BTME5O_4-VcR-c_YDYFn6K3MpsrYLbSxDKTgdSJbA56B8-s726QzcFEixkU5mtaK5gbO4Zb32U94qF1_ziJ5XcEtaJt1kBY8oY15d3ubXJl-zLyh-fB9K4mqssqqWABbLAtJQycfx5x-9ks6iVHYXq-_tdnfadm7HBYROlcYzKc7VJkOAP5z-e05Zqx9C1NUXpW_-gFwiHazbC7_N_-UihSej2m3qULtIdgZMtT6fid4_LftXc38Q\",\"session_state\":{\"extraQueryParams\":{\"authuser\":\"1\"}},\"first_issued_at\":1600374485776,\"expires_at\":1600378084776,\"idpId\":\"google\"}",
"hubspot": true,
"subscribed": true,
"subscribed_ip": "192.168.96.10",
"membership_type_id": 2,
"temp_password": null
},
"h5p_content": null
}
}
Received response:
Request failed with error:
Independent Activity Indexing
Modify the index value of an independent activity.
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/independent-activities/2/indexes/3" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/independent-activities/2/indexes/3"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/independent-activities/2/indexes/3',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "Library status changed successfully!",
}
Example response (500):
{
"errors": [
"Invalid index value provided."
]
}
Received response:
Request failed with error:
Download XApi File
This is an API for to download the XAPI zip for the attempted independent activity
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/go/independent_activity/getxapifile/2" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/go/independent_activity/getxapifile/2"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/go/independent_activity/getxapifile/2',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (500):
Show headers
cache-control: no-cache, private
content-type: application/json
{
"message": "SQLSTATE[22P02]: Invalid text representation: 7 ERROR: invalid input syntax for type bigint: \"facere\" (SQL: select * from \"activities\" where \"id\" = facere and \"activities\".\"deleted_at\" is null and \"activity_type\" = INDEPENDENT limit 1)",
"exception": "Illuminate\\Database\\QueryException",
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Database\\Connection.php",
"line": 712,
"trace": [
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Database\\Connection.php",
"line": 672,
"function": "runQueryCallback",
"class": "Illuminate\\Database\\Connection",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Database\\Connection.php",
"line": 376,
"function": "run",
"class": "Illuminate\\Database\\Connection",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Database\\Query\\Builder.php",
"line": 2414,
"function": "select",
"class": "Illuminate\\Database\\Connection",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Database\\Query\\Builder.php",
"line": 2402,
"function": "runSelect",
"class": "Illuminate\\Database\\Query\\Builder",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Database\\Query\\Builder.php",
"line": 2936,
"function": "Illuminate\\Database\\Query\\{closure}",
"class": "Illuminate\\Database\\Query\\Builder",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Database\\Query\\Builder.php",
"line": 2403,
"function": "onceWithColumns",
"class": "Illuminate\\Database\\Query\\Builder",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Database\\Eloquent\\Builder.php",
"line": 625,
"function": "get",
"class": "Illuminate\\Database\\Query\\Builder",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Database\\Eloquent\\Builder.php",
"line": 609,
"function": "getModels",
"class": "Illuminate\\Database\\Eloquent\\Builder",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Database\\Concerns\\BuildsQueries.php",
"line": 294,
"function": "get",
"class": "Illuminate\\Database\\Eloquent\\Builder",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Database\\Eloquent\\Model.php",
"line": 1880,
"function": "first",
"class": "Illuminate\\Database\\Eloquent\\Builder",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\ImplicitRouteBinding.php",
"line": 55,
"function": "resolveRouteBinding",
"class": "Illuminate\\Database\\Eloquent\\Model",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 859,
"function": "resolveForRoute",
"class": "Illuminate\\Routing\\ImplicitRouteBinding",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Middleware\\SubstituteBindings.php",
"line": 41,
"function": "substituteImplicitBindings",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Routing\\Middleware\\SubstituteBindings",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 103,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 723,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 698,
"function": "runRouteWithinStack",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 662,
"function": "runRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 651,
"function": "dispatchToRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 167,
"function": "dispatch",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 128,
"function": "Illuminate\\Foundation\\Http\\{closure}",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull.php",
"line": 31,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TrimStrings.php",
"line": 40,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TrimStrings",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize.php",
"line": 27,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance.php",
"line": 86,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\app\\Http\\Middleware\\Cors.php",
"line": 40,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "App\\Http\\Middleware\\Cors",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\fideloper\\proxy\\src\\TrustProxies.php",
"line": 57,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Fideloper\\Proxy\\TrustProxies",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 103,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 142,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 111,
"function": "sendRequestThroughRouter",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 299,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 287,
"function": "callLaravelOrLumenRoute",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 89,
"function": "makeApiCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 45,
"function": "makeResponseCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 35,
"function": "makeResponseCallIfConditionsPass",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 222,
"function": "__invoke",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 179,
"function": "iterateThroughStrategies",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 116,
"function": "fetchResponses",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 123,
"function": "processRoute",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 80,
"function": "extractEndpointsInfoFromLaravelApp",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 56,
"function": "extractEndpointsInfoAndWriteToDisk",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Commands\\GenerateDocumentation.php",
"line": 55,
"function": "get",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 36,
"function": "handle",
"class": "Knuckles\\Scribe\\Commands\\GenerateDocumentation",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Util.php",
"line": 40,
"function": "Illuminate\\Container\\{closure}",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 93,
"function": "unwrapIfClosure",
"class": "Illuminate\\Container\\Util",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 37,
"function": "callBoundMethod",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 653,
"function": "call",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
"line": 136,
"function": "call",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Command\\Command.php",
"line": 298,
"function": "execute",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
"line": 121,
"function": "run",
"class": "Symfony\\Component\\Console\\Command\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 1040,
"function": "run",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 301,
"function": "doRunCommand",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 171,
"function": "doRun",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Application.php",
"line": 94,
"function": "run",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Console\\Kernel.php",
"line": 129,
"function": "run",
"class": "Illuminate\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\artisan",
"line": 37,
"function": "handle",
"class": "Illuminate\\Foundation\\Console\\Kernel",
"type": "->"
}
]
}
Received response:
Request failed with error:
Get H5P Resource Settings (Shared)
Get H5P Resource Settings for a shared independent activity
Get H5P Resource Settings
Get H5P Resource Settings for an independent activity
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/independent-activities/7/h5p-resource-settings" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/independent-activities/7/h5p-resource-settings"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/independent-activities/7/h5p-resource-settings',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (500):
{
"errors": [
"Independent Activity doesn't belong to this user."
]
}
Example response (200):
{
"h5p": {
"id": 54166,
"title": "Taurus 10 Jun 2022",
"params": "{\"presentation\":{\"slides\":[{\"elements\":[{\"x\":29.956427015250547,\"y\":29.999999999999996,\"width\":40,\"height\":40,\"action\":{\"library\":\"H5P.AdvancedText 1.1\",\"params\":{\"text\":\"<p>Taurus 10 Jun 2022<\\/p>\\n\"},\"subContentId\":\"efa0c7bc-871b-4f2f-a79f-1ff2f3a3a88e\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Taurus 10 Jun 2022\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Taurus 10 Jun 2022\"}},\"alwaysDisplayComments\":false,\"backgroundOpacity\":0,\"displayAsButton\":false,\"buttonSize\":\"big\",\"goToSlideType\":\"specified\",\"invisible\":false,\"solution\":\"\"}],\"keywords\":[],\"slideBackgroundSelector\":{}}],\"keywordListEnabled\":true,\"globalBackgroundSelector\":{},\"keywordListAlwaysShow\":false,\"keywordListAutoHide\":false,\"keywordListOpacity\":90},\"override\":{\"activeSurface\":false,\"hideSummarySlide\":false,\"summarySlideSolutionButton\":true,\"summarySlideRetryButton\":true,\"enablePrintButton\":false,\"social\":{\"showFacebookShare\":false,\"facebookShare\":{\"url\":\"@currentpageurl\",\"quote\":\"I scored @score out of @maxScore on a task at @currentpageurl.\"},\"showTwitterShare\":false,\"twitterShare\":{\"statement\":\"I scored @score out of @maxScore on a task at @currentpageurl.\",\"url\":\"@currentpageurl\",\"hashtags\":\"h5p, course\"},\"showGoogleShare\":false,\"googleShareUrl\":\"@currentpageurl\"}},\"l10n\":{\"slide\":\"Slide\",\"score\":\"Score\",\"yourScore\":\"Your Score\",\"maxScore\":\"Max Score\",\"total\":\"Total\",\"totalScore\":\"Total Score\",\"showSolutions\":\"Show solutions\",\"retry\":\"Retry\",\"exportAnswers\":\"Export text\",\"hideKeywords\":\"Hide sidebar navigation menu\",\"showKeywords\":\"Show sidebar navigation menu\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit fullscreen\",\"prevSlide\":\"Previous slide\",\"nextSlide\":\"Next slide\",\"currentSlide\":\"Current slide\",\"lastSlide\":\"Last slide\",\"solutionModeTitle\":\"Exit solution mode\",\"solutionModeText\":\"Solution Mode\",\"summaryMultipleTaskText\":\"Multiple tasks\",\"scoreMessage\":\"You achieved:\",\"shareFacebook\":\"Share on Facebook\",\"shareTwitter\":\"Share on Twitter\",\"shareGoogle\":\"Share on Google+\",\"summary\":\"Summary\",\"solutionsButtonTitle\":\"Show comments\",\"printTitle\":\"Print\",\"printIngress\":\"How would you like to print this presentation?\",\"printAllSlides\":\"Print all slides\",\"printCurrentSlide\":\"Print current slide\",\"noTitle\":\"No title\",\"accessibilitySlideNavigationExplanation\":\"Use left and right arrow to change slide in that direction whenever canvas is selected.\",\"accessibilityCanvasLabel\":\"Presentation canvas. Use left and right arrow to move between slides.\",\"containsNotCompleted\":\"@slideName contains not completed interaction\",\"containsCompleted\":\"@slideName contains completed interaction\",\"slideCount\":\"Slide @index of @total\",\"containsOnlyCorrect\":\"@slideName only has correct answers\",\"containsIncorrectAnswers\":\"@slideName has incorrect answers\",\"shareResult\":\"Share Result\",\"accessibilityTotalScore\":\"You got @score of @maxScore points in total\",\"accessibilityEnteredFullscreen\":\"Entered fullscreen\",\"accessibilityExitedFullscreen\":\"Exited fullscreen\"}}",
"filtered": "{\"presentation\":{\"slides\":[{\"elements\":[{\"x\":29.956427015250547,\"y\":29.999999999999996,\"width\":40,\"height\":40,\"action\":{\"library\":\"H5P.AdvancedText 1.1\",\"params\":{\"text\":\"<p>Taurus 10 Jun 2022<\\/p>\\n\"},\"subContentId\":\"efa0c7bc-871b-4f2f-a79f-1ff2f3a3a88e\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Taurus 10 Jun 2022\"}},\"alwaysDisplayComments\":false,\"backgroundOpacity\":0,\"displayAsButton\":false,\"buttonSize\":\"big\",\"goToSlideType\":\"specified\",\"invisible\":false,\"solution\":\"\"}],\"slideBackgroundSelector\":{}}],\"keywordListEnabled\":true,\"globalBackgroundSelector\":{},\"keywordListAlwaysShow\":false,\"keywordListAutoHide\":false,\"keywordListOpacity\":90},\"override\":{\"activeSurface\":false,\"hideSummarySlide\":false,\"summarySlideSolutionButton\":true,\"summarySlideRetryButton\":true,\"enablePrintButton\":false,\"social\":{\"showFacebookShare\":false,\"facebookShare\":{\"url\":\"@currentpageurl\",\"quote\":\"I scored @score out of @maxScore on a task at @currentpageurl.\"},\"showTwitterShare\":false,\"twitterShare\":{\"statement\":\"I scored @score out of @maxScore on a task at @currentpageurl.\",\"url\":\"@currentpageurl\",\"hashtags\":\"h5p, course\"},\"showGoogleShare\":false,\"googleShareUrl\":\"@currentpageurl\"}},\"l10n\":{\"slide\":\"Slide\",\"score\":\"Score\",\"yourScore\":\"Your Score\",\"maxScore\":\"Max Score\",\"total\":\"Total\",\"totalScore\":\"Total Score\",\"showSolutions\":\"Show solutions\",\"retry\":\"Retry\",\"exportAnswers\":\"Export text\",\"hideKeywords\":\"Hide sidebar navigation menu\",\"showKeywords\":\"Show sidebar navigation menu\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit fullscreen\",\"prevSlide\":\"Previous slide\",\"nextSlide\":\"Next slide\",\"currentSlide\":\"Current slide\",\"lastSlide\":\"Last slide\",\"solutionModeTitle\":\"Exit solution mode\",\"solutionModeText\":\"Solution Mode\",\"summaryMultipleTaskText\":\"Multiple tasks\",\"scoreMessage\":\"You achieved:\",\"shareFacebook\":\"Share on Facebook\",\"shareTwitter\":\"Share on Twitter\",\"shareGoogle\":\"Share on Google+\",\"summary\":\"Summary\",\"solutionsButtonTitle\":\"Show comments\",\"printTitle\":\"Print\",\"printIngress\":\"How would you like to print this presentation?\",\"printAllSlides\":\"Print all slides\",\"printCurrentSlide\":\"Print current slide\",\"noTitle\":\"No title\",\"accessibilitySlideNavigationExplanation\":\"Use left and right arrow to change slide in that direction whenever canvas is selected.\",\"accessibilityCanvasLabel\":\"Presentation canvas. Use left and right arrow to move between slides.\",\"containsNotCompleted\":\"@slideName contains not completed interaction\",\"containsCompleted\":\"@slideName contains completed interaction\",\"slideCount\":\"Slide @index of @total\",\"containsOnlyCorrect\":\"@slideName only has correct answers\",\"containsIncorrectAnswers\":\"@slideName has incorrect answers\",\"shareResult\":\"Share Result\",\"accessibilityTotalScore\":\"You got @score of @maxScore points in total\",\"accessibilityEnteredFullscreen\":\"Entered fullscreen\",\"accessibilityExitedFullscreen\":\"Exited fullscreen\"}}",
"slug": "taurus-10-jun-2022",
"user_id": 1,
"embedType": "div",
"disable": 9,
"libraryMajorVersion": 1,
"libraryMinorVersion": 22,
"authors": null,
"source": null,
"yearFrom": null,
"yearTo": null,
"licenseVersion": null,
"licenseExtras": null,
"authorComments": null,
"changes": null,
"defaultLanguage": null,
"metadata": {
"title": "Taurus 10 Jun 2022",
"license": "U"
},
"library": {
"id": 160,
"name": "H5P.CoursePresentation",
"majorVersion": 1,
"minorVersion": 22,
"embedTypes": "iframe",
"fullscreen": 1
},
"language": "en",
"tags": ""
},
"independent-activity": {
"id": 1,
"title": "Taurus 10 Jun 2022 edited",
"type": "h5p",
"content": "place_holder",
"description": null,
"shared": false,
"order": 7,
"thumb_url": "https://images.pexels.com/photos/420233/pexels-photo-420233.jpeg?auto=compress&cs=tinysrgb&dpr=1&fit=crop&h=200&w=280",
"created_at": "2022-06-10T01:49:20.000000Z",
"updated_at": "2022-06-10T01:58:23.000000Z",
"gcr_activity_visibility": true,
"subjects": [],
"education_levels": [],
"author_tags": [],
"source_type": null,
"source_url": null,
"organization_visibility_type_id": 4,
"status": 2,
"status_text": "FINISHED",
"indexing": 3,
"indexing_text": "APPROVED",
"user": {
"id": 3,
"name": "Abby tester test",
"email": "abby@curriki.org",
"email_verified_at": "2020-09-11T23:52:44.000000Z",
"created_at": "2020-04-06T20:47:21.000000Z",
"updated_at": "2022-06-14T09:32:00.000000Z",
"first_name": "Abby tester",
"last_name": "test",
"organization_name": "Curriki",
"job_title": "PM",
"address": null,
"phone_number": "4543543543",
"organization_type": "K-12",
"website": null,
"deleted_at": null,
"role": null,
"gapi_access_token": "{\"token_type\":\"Bearer\",\"access_token\":\"ya29.a0ARrdaM-BKypS4SFslL_n_LjqfIhQkoZjsLbi7YVPNSIjlIYfxRsB_B-0cCObtILu5Cereaa1GrVVO-1U0O3v6rgVaqfqq9n3jJM8cZueVYGSJxhhCtGMnWoZ5Ni9Exi2uVxC9rXR17T1p-NgWwUddYZInBO8Fk0\",\"scope\":\"email profile https://www.googleapis.com/auth/classroom.coursework.students https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/classroom.courses.readonly https://www.googleapis.com/auth/classroom.coursework.me https://www.googleapis.com/auth/classroom.topics https://www.googleapis.com/auth/classroom.courses openid https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/classroom.rosters.readonly\",\"login_hint\":\"AJDLj6IhjPEjK-HinFn0-xSdbBgjitIliFKMmP0IT37J-BCTcA7-DF5lesECWi3460LMx3a9xrFCjvBSgPqjknqtmIdAXn5G9LXjf_CP3rxipnDlrfmpZzU\",\"expires_in\":3599,\"id_token\":\"eyJhbGciOiJSUzI1NiIsImtpZCI6Ijc0ODNhMDg4ZDRmZmMwMDYwOWYwZTIyZjNjMjJkYTVmZTM5MDZjY2MiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJhY2NvdW50cy5nb29nbGUuY29tIiwiYXpwIjoiODk4MTQzOTM5ODM0LTlpb3VpMmk5Z2hncm1jZ21ndGcwaDZyc2Y4M2QwdDBjLmFwcHMuZ29vZ2xldXNlcmNvbnRlbnQuY29tIiwiYXVkIjoiODk4MTQzOTM5ODM0LTlpb3VpMmk5Z2hncm1jZ21ndGcwaDZyc2Y4M2QwdDBjLmFwcHMuZ29vZ2xldXNlcmNvbnRlbnQuY29tIiwic3ViIjoiMTA2MjM0MTAzNzYwNjM5NzYzMzA1IiwiZW1haWwiOiJmYWhhZC5jdXJyaWtpQGdtYWlsLmNvbSIsImVtYWlsX3ZlcmlmaWVkIjp0cnVlLCJhdF9oYXNoIjoiTkZ6dFR2ZnNDdUNTMG5aQmRzZDlyUSIsIm5hbWUiOiJGYWhhZCBGYXJydWtoIiwicGljdHVyZSI6Imh0dHBzOi8vbGgzLmdvb2dsZXVzZXJjb250ZW50LmNvbS9hL0FBVFhBSnlfSkxxMTZfRnlSSTJEQTdxdEdyc21uZHIyVHdwUG1BMUhYbVY4PXM5Ni1jIiwiZ2l2ZW5fbmFtZSI6IkZhaGFkIiwiZmFtaWx5X25hbWUiOiJGYXJydWtoIiwibG9jYWxlIjoiZW4iLCJpYXQiOjE2NTQ4MjYyMTgsImV4cCI6MTY1NDgyOTgxOCwianRpIjoiNmM3ZGZhMmYwZDllYTA4ZDNjNzY2ZjJlMTU4MmYxODI5ZjRkMjQxNSJ9.UHc3Hy2rdm190fGbjFjkAoulIYvlAYSaUa6EALqB32mr2ZO4RVxY85nKxeN1GxqXySgCdtNMfmBnRmr7JO7t4qMipuIHCCNLFd3rbh9QJ9z5HuK08gxgKT1IWgfEqzjA9nqX59TDY-3yK41gbIzUR2buXUdIM6EpA9lYW11-gh053wUdKk0zwmgeTRpiJ1qttRV3C50E53mzC61T2bLk56kLXiQPHx6C9LwFoTYtqJq5COILD3Tzg29XXldE7zKszDRUEJFMT9_GvFNsjfJTGv7dPhzxiLeOCs0cjbpJuGyFaYaRyOYvILqDjJH9wYF8KbalnhN9g-HOXDNZk0nphA\",\"session_state\":{\"extraQueryParams\":{\"authuser\":\"0\"}},\"first_issued_at\":1654826218249,\"expires_at\":1654829817249,\"idpId\":\"google\"}",
"hubspot": true,
"subscribed": true,
"subscribed_ip": "192.168.96.10",
"membership_type_id": 2,
"temp_password": null
},
"h5p_content": {
"id": 54166,
"created_at": "2022-06-10T01:49:20.000000Z",
"updated_at": "2022-06-10T01:49:20.000000Z",
"user_id": 1,
"title": "Taurus 10 Jun 2022",
"library_id": 160,
"parameters": "{\"presentation\":{\"slides\":[{\"elements\":[{\"x\":29.956427015250547,\"y\":29.999999999999996,\"width\":40,\"height\":40,\"action\":{\"library\":\"H5P.AdvancedText 1.1\",\"params\":{\"text\":\"<p>Taurus 10 Jun 2022<\\/p>\\n\"},\"subContentId\":\"efa0c7bc-871b-4f2f-a79f-1ff2f3a3a88e\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Taurus 10 Jun 2022\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Taurus 10 Jun 2022\"}},\"alwaysDisplayComments\":false,\"backgroundOpacity\":0,\"displayAsButton\":false,\"buttonSize\":\"big\",\"goToSlideType\":\"specified\",\"invisible\":false,\"solution\":\"\"}],\"keywords\":[],\"slideBackgroundSelector\":{}}],\"keywordListEnabled\":true,\"globalBackgroundSelector\":{},\"keywordListAlwaysShow\":false,\"keywordListAutoHide\":false,\"keywordListOpacity\":90},\"override\":{\"activeSurface\":false,\"hideSummarySlide\":false,\"summarySlideSolutionButton\":true,\"summarySlideRetryButton\":true,\"enablePrintButton\":false,\"social\":{\"showFacebookShare\":false,\"facebookShare\":{\"url\":\"@currentpageurl\",\"quote\":\"I scored @score out of @maxScore on a task at @currentpageurl.\"},\"showTwitterShare\":false,\"twitterShare\":{\"statement\":\"I scored @score out of @maxScore on a task at @currentpageurl.\",\"url\":\"@currentpageurl\",\"hashtags\":\"h5p, course\"},\"showGoogleShare\":false,\"googleShareUrl\":\"@currentpageurl\"}},\"l10n\":{\"slide\":\"Slide\",\"score\":\"Score\",\"yourScore\":\"Your Score\",\"maxScore\":\"Max Score\",\"total\":\"Total\",\"totalScore\":\"Total Score\",\"showSolutions\":\"Show solutions\",\"retry\":\"Retry\",\"exportAnswers\":\"Export text\",\"hideKeywords\":\"Hide sidebar navigation menu\",\"showKeywords\":\"Show sidebar navigation menu\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit fullscreen\",\"prevSlide\":\"Previous slide\",\"nextSlide\":\"Next slide\",\"currentSlide\":\"Current slide\",\"lastSlide\":\"Last slide\",\"solutionModeTitle\":\"Exit solution mode\",\"solutionModeText\":\"Solution Mode\",\"summaryMultipleTaskText\":\"Multiple tasks\",\"scoreMessage\":\"You achieved:\",\"shareFacebook\":\"Share on Facebook\",\"shareTwitter\":\"Share on Twitter\",\"shareGoogle\":\"Share on Google+\",\"summary\":\"Summary\",\"solutionsButtonTitle\":\"Show comments\",\"printTitle\":\"Print\",\"printIngress\":\"How would you like to print this presentation?\",\"printAllSlides\":\"Print all slides\",\"printCurrentSlide\":\"Print current slide\",\"noTitle\":\"No title\",\"accessibilitySlideNavigationExplanation\":\"Use left and right arrow to change slide in that direction whenever canvas is selected.\",\"accessibilityCanvasLabel\":\"Presentation canvas. Use left and right arrow to move between slides.\",\"containsNotCompleted\":\"@slideName contains not completed interaction\",\"containsCompleted\":\"@slideName contains completed interaction\",\"slideCount\":\"Slide @index of @total\",\"containsOnlyCorrect\":\"@slideName only has correct answers\",\"containsIncorrectAnswers\":\"@slideName has incorrect answers\",\"shareResult\":\"Share Result\",\"accessibilityTotalScore\":\"You got @score of @maxScore points in total\",\"accessibilityEnteredFullscreen\":\"Entered fullscreen\",\"accessibilityExitedFullscreen\":\"Exited fullscreen\"}}",
"filtered": "{\"presentation\":{\"slides\":[{\"elements\":[{\"x\":29.956427015250547,\"y\":29.999999999999996,\"width\":40,\"height\":40,\"action\":{\"library\":\"H5P.AdvancedText 1.1\",\"params\":{\"text\":\"<p>Taurus 10 Jun 2022<\\/p>\\n\"},\"subContentId\":\"efa0c7bc-871b-4f2f-a79f-1ff2f3a3a88e\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Taurus 10 Jun 2022\"}},\"alwaysDisplayComments\":false,\"backgroundOpacity\":0,\"displayAsButton\":false,\"buttonSize\":\"big\",\"goToSlideType\":\"specified\",\"invisible\":false,\"solution\":\"\"}],\"slideBackgroundSelector\":{}}],\"keywordListEnabled\":true,\"globalBackgroundSelector\":{},\"keywordListAlwaysShow\":false,\"keywordListAutoHide\":false,\"keywordListOpacity\":90},\"override\":{\"activeSurface\":false,\"hideSummarySlide\":false,\"summarySlideSolutionButton\":true,\"summarySlideRetryButton\":true,\"enablePrintButton\":false,\"social\":{\"showFacebookShare\":false,\"facebookShare\":{\"url\":\"@currentpageurl\",\"quote\":\"I scored @score out of @maxScore on a task at @currentpageurl.\"},\"showTwitterShare\":false,\"twitterShare\":{\"statement\":\"I scored @score out of @maxScore on a task at @currentpageurl.\",\"url\":\"@currentpageurl\",\"hashtags\":\"h5p, course\"},\"showGoogleShare\":false,\"googleShareUrl\":\"@currentpageurl\"}},\"l10n\":{\"slide\":\"Slide\",\"score\":\"Score\",\"yourScore\":\"Your Score\",\"maxScore\":\"Max Score\",\"total\":\"Total\",\"totalScore\":\"Total Score\",\"showSolutions\":\"Show solutions\",\"retry\":\"Retry\",\"exportAnswers\":\"Export text\",\"hideKeywords\":\"Hide sidebar navigation menu\",\"showKeywords\":\"Show sidebar navigation menu\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit fullscreen\",\"prevSlide\":\"Previous slide\",\"nextSlide\":\"Next slide\",\"currentSlide\":\"Current slide\",\"lastSlide\":\"Last slide\",\"solutionModeTitle\":\"Exit solution mode\",\"solutionModeText\":\"Solution Mode\",\"summaryMultipleTaskText\":\"Multiple tasks\",\"scoreMessage\":\"You achieved:\",\"shareFacebook\":\"Share on Facebook\",\"shareTwitter\":\"Share on Twitter\",\"shareGoogle\":\"Share on Google+\",\"summary\":\"Summary\",\"solutionsButtonTitle\":\"Show comments\",\"printTitle\":\"Print\",\"printIngress\":\"How would you like to print this presentation?\",\"printAllSlides\":\"Print all slides\",\"printCurrentSlide\":\"Print current slide\",\"noTitle\":\"No title\",\"accessibilitySlideNavigationExplanation\":\"Use left and right arrow to change slide in that direction whenever canvas is selected.\",\"accessibilityCanvasLabel\":\"Presentation canvas. Use left and right arrow to move between slides.\",\"containsNotCompleted\":\"@slideName contains not completed interaction\",\"containsCompleted\":\"@slideName contains completed interaction\",\"slideCount\":\"Slide @index of @total\",\"containsOnlyCorrect\":\"@slideName only has correct answers\",\"containsIncorrectAnswers\":\"@slideName has incorrect answers\",\"shareResult\":\"Share Result\",\"accessibilityTotalScore\":\"You got @score of @maxScore points in total\",\"accessibilityEnteredFullscreen\":\"Entered fullscreen\",\"accessibilityExitedFullscreen\":\"Exited fullscreen\"}}",
"slug": "taurus-10-jun-2022",
"embed_type": "div",
"disable": 9,
"content_type": null,
"authors": null,
"source": null,
"year_from": null,
"year_to": null,
"license": "U",
"license_version": null,
"license_extras": null,
"author_comments": null,
"changes": null,
"default_language": null
}
}
}
Received response:
Request failed with error:
7. Activity Layout
APIs for activity layout management
Get Activity Layouts
Get a list of the activity layouts.
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/suborganizations/1/activity-layouts" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"query\": \"tvjixitskfnifbkjfeladibtpjbgquahdcikwtgpdifjjgzvatcdyskpusypvteqnlysuv\",
\"size\": 8,
\"order_by_column\": \"order\",
\"order_by_type\": \"desc\"
}"
const url = new URL(
"http://localhost:8000/api/v1/suborganizations/1/activity-layouts"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"query": "tvjixitskfnifbkjfeladibtpjbgquahdcikwtgpdifjjgzvatcdyskpusypvteqnlysuv",
"size": 8,
"order_by_column": "order",
"order_by_type": "desc"
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/suborganizations/1/activity-layouts',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'query' => 'tvjixitskfnifbkjfeladibtpjbgquahdcikwtgpdifjjgzvatcdyskpusypvteqnlysuv',
'size' => 8,
'order_by_column' => 'order',
'order_by_type' => 'desc',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": [
{
"id": 2,
"title": "Layout Two",
"description": "test",
"order": null,
"type": "h5p",
"h5pLib": "test",
"image": "/storage/activity-layouts/BmbSXE3OMOmHTovHKP3wzk9suHHfe1X.png",
"demo_activity_id": "1",
"demo_video_id": "1",
"organization_id": "1",
"created_at": "2022-02-09T10:22:42.000000Z",
"updated_at": "2022-02-09T10:22:42.000000Z"
},
{
"id": 1,
"title": "Layout One",
"description": "test",
"order": null,
"type": "h5p",
"h5pLib": "test",
"image": "/storage/activity-layouts/BmbSXE3OMOmHTovHKP3wzk9suHHfe1X.png",
"demo_activity_id": "1",
"demo_video_id": "1",
"organization_id": "1",
"created_at": "2022-02-09T09:46:28.000000Z",
"updated_at": "2022-02-09T10:24:52.000000Z"
}
],
"links": {
"first": "http://localhost:8000/api/v1/activity-layouts?page=1",
"last": "http://localhost:8000/api/v1/activity-layouts?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"path": "http://localhost:8000/api/v1/activity-layouts",
"per_page": 10,
"to": 2,
"total": 2
}
}
Received response:
Request failed with error:
Create Activity Layout
Create a new activity layout.
Example request:
curl --request POST \
"http://localhost:8000/api/v1/suborganizations/1/activity-layouts" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"title\": \"Audio\",
\"description\": \"incidunt\",
\"order\": 1,
\"type\": \"incidunt\",
\"h5pLib\": \"deleniti\",
\"image\": \"dolorem\",
\"demo_activity_id\": \"nulla\",
\"demo_video_id\": \"distinctio\",
\"organization_id\": 20
}"
const url = new URL(
"http://localhost:8000/api/v1/suborganizations/1/activity-layouts"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"title": "Audio",
"description": "incidunt",
"order": 1,
"type": "incidunt",
"h5pLib": "deleniti",
"image": "dolorem",
"demo_activity_id": "nulla",
"demo_video_id": "distinctio",
"organization_id": 20
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/suborganizations/1/activity-layouts',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'title' => 'Audio',
'description' => 'incidunt',
'order' => 1,
'type' => 'incidunt',
'h5pLib' => 'deleniti',
'image' => 'dolorem',
'demo_activity_id' => 'nulla',
'demo_video_id' => 'distinctio',
'organization_id' => 20,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (400):
{
"errors": [
"Invalid activity type id."
]
}
Example response (500):
{
"errors": [
"Could not create activity layout. Please try again later."
]
}
Example response (201):
{
"activityLayout": {
"id": 1,
"title": "Layout One",
"description": "test",
"order": null,
"type": "h5p",
"h5pLib": "test",
"image": "/storage/activity-layouts/BmbSXE3OMOmHTovHKP3wzk9suHHfe1X.png",
"demo_activity_id": "1",
"demo_video_id": "1",
"organization_id": "1",
"created_at": "2022-02-09T09:46:28.000000Z",
"updated_at": "2022-02-09T10:24:52.000000Z"
}
}
Received response:
Request failed with error:
Get Activity Item
Get the specified activity layout.
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/suborganizations/1/activity-layouts/1" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/suborganizations/1/activity-layouts/1"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/suborganizations/1/activity-layouts/1',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"activityLayout": {
"id": 1,
"title": "Layout One",
"description": "test",
"order": null,
"type": "h5p",
"h5pLib": "test",
"image": "/storage/activity-layouts/BmbSXE3OMOmHTovHKP3wzk9suHHfe1X.png",
"demo_activity_id": "1",
"demo_video_id": "1",
"organization_id": "1",
"created_at": "2022-02-09T09:46:28.000000Z",
"updated_at": "2022-02-09T10:24:52.000000Z"
}
}
Received response:
Request failed with error:
Remove Activity Item
Remove the specified activity layout.
Example request:
curl --request DELETE \
"http://localhost:8000/api/v1/suborganizations/1/activity-layouts/1" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/suborganizations/1/activity-layouts/1"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->delete(
'http://localhost:8000/api/v1/suborganizations/1/activity-layouts/1',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "Activity layout has been deleted successfully."
}
Example response (500):
{
"errors": [
"Failed to delete activity layout."
]
}
Received response:
Request failed with error:
Upload Thumbnail
Upload thumbnail image for a activity layout
Example request:
curl --request POST \
"http://localhost:8000/api/v1/activity-layouts/upload-thumb" \
--header "Content-Type: multipart/form-data" \
--header "Accept: application/json" \
--form "thumb=laudantium" \
--form "image=@C:\Users\Administrator\AppData\Local\Temp\php4E34.tmp" const url = new URL(
"http://localhost:8000/api/v1/activity-layouts/upload-thumb"
);
const headers = {
"Content-Type": "multipart/form-data",
"Accept": "application/json",
};
const body = new FormData();
body.append('thumb', 'laudantium');
body.append('image', document.querySelector('input[name="image"]').files[0]);
fetch(url, {
method: "POST",
headers,
body,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/activity-layouts/upload-thumb',
[
'headers' => [
'Content-Type' => 'multipart/form-data',
'Accept' => 'application/json',
],
'multipart' => [
[
'name' => 'thumb',
'contents' => 'laudantium'
],
[
'name' => 'image',
'contents' => fopen('C:\Users\Administrator\AppData\Local\Temp\php4E34.tmp', 'r')
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"image": "/storage/activity-layouts/1fqwe2f65ewf465qwe46weef5w5eqwq.png"
}
Example response (400):
{
"errors": [
"Invalid image."
]
}
Received response:
Request failed with error:
8. Activity Item
APIs for activity item management
Get Activity Items
Get a list of the activity items.
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/suborganizations/quaerat/activity-items" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/suborganizations/quaerat/activity-items"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/suborganizations/quaerat/activity-items',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"activityItems": [
{
"id": 1,
"title": "Audio Recorder",
"description": "Record your voice and play back or download a .wav file of your recording.",
"order": 1,
"activityType": {
"id": 1,
"title": "Audio",
"order": 0,
"image": "/storage/activity-types/4kZL5uuExvNPngVsaIdC7JscWmstOTsYO8sBbekx.png",
"created_at": "2020-08-25T16:29:35.000000Z",
"updated_at": "2020-08-25T16:29:35.000000Z"
},
"type": "h5p",
"h5pLib": "H5P.AudioRecorder 1.0",
"image": "/storage/activity-items/zGUwGiarxX5Xt0UDFMMHtJ3ICGy1F9W68cO0Ukm6.png",
"demo_activity_id": "768",
"demo_video_id": "https://youtu.be/O73hIb7yxLg",
"organization_id": 1,
"created_at": "2020-08-25T16:29:35.000000Z",
"updated_at": "2020-08-25T16:29:35.000000Z"
},
{
"id": 2,
"title": "Dictation",
"description": "A tool to create dictation exercises",
"order": 2,
"activityType": {
"id": 1,
"title": "Audio",
"order": 0,
"image": "/storage/activity-types/4kZL5uuExvNPngVsaIdC7JscWmstOTsYO8sBbekx.png",
"created_at": "2020-08-25T16:29:35.000000Z",
"updated_at": "2020-08-25T16:29:35.000000Z"
},
"type": "h5p",
"h5pLib": "H5P.Dictation 1.0",
"image": "/storage/activity-items/WpXZiHcrkBmbSXE3OMOmHTovHKP3wzk9suHHfe1X.png",
"demo_activity_id": "760",
"demo_video_id": "https://youtu.be/O73ikb7yxLg",
"organization_id": 1,
"created_at": "2020-08-25T16:29:35.000000Z",
"updated_at": "2020-08-25T16:29:35.000000Z"
}
]
}
Received response:
Request failed with error:
Create Activity Item
Create a new activity item.
Example request:
curl --request POST \
"http://localhost:8000/api/v1/suborganizations/1/activity-items" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"title\": \"Audio\",
\"description\": \"debitis\",
\"order\": 1,
\"activity_type_id\": 9,
\"type\": \"aliquid\",
\"h5pLib\": \"quo\",
\"image\": \"et\",
\"demo_activity_id\": \"qui\",
\"demo_video_id\": \"qui\",
\"organization_id\": 11
}"
const url = new URL(
"http://localhost:8000/api/v1/suborganizations/1/activity-items"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"title": "Audio",
"description": "debitis",
"order": 1,
"activity_type_id": 9,
"type": "aliquid",
"h5pLib": "quo",
"image": "et",
"demo_activity_id": "qui",
"demo_video_id": "qui",
"organization_id": 11
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/suborganizations/1/activity-items',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'title' => 'Audio',
'description' => 'debitis',
'order' => 1,
'activity_type_id' => 9,
'type' => 'aliquid',
'h5pLib' => 'quo',
'image' => 'et',
'demo_activity_id' => 'qui',
'demo_video_id' => 'qui',
'organization_id' => 11,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (400):
{
"errors": [
"Invalid activity type id."
]
}
Example response (500):
{
"errors": [
"Could not create activity item. Please try again later."
]
}
Example response (201):
{
"activityItem": {
"id": 1,
"title": "Audio Recorder",
"description": "Record your voice and play back or download a .wav file of your recording.",
"order": 1,
"activityType": {
"id": 1,
"title": "Audio",
"order": 0,
"image": "/storage/activity-types/4kZL5uuExvNPngVsaIdC7JscWmstOTsYO8sBbekx.png",
"created_at": "2020-08-25T16:29:35.000000Z",
"updated_at": "2020-08-25T16:29:35.000000Z"
},
"type": "h5p",
"h5pLib": "H5P.AudioRecorder 1.0",
"image": "/storage/activity-items/zGUwGiarxX5Xt0UDFMMHtJ3ICGy1F9W68cO0Ukm6.png",
"demo_activity_id": "768",
"demo_video_id": "https://youtu.be/O73hIb7yxLg",
"organization_id": 1,
"created_at": "2020-08-25T16:29:35.000000Z",
"updated_at": "2020-08-25T16:29:35.000000Z"
}
}
Received response:
Request failed with error:
Get Activity Item
Get the specified activity item.
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/suborganizations/1/activity-items/62" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/suborganizations/1/activity-items/62"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/suborganizations/1/activity-items/62',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"activityItem": {
"id": 1,
"title": "Audio Recorder",
"description": "Record your voice and play back or download a .wav file of your recording.",
"order": 1,
"activityType": {
"id": 1,
"title": "Audio",
"order": 0,
"image": "/storage/activity-types/4kZL5uuExvNPngVsaIdC7JscWmstOTsYO8sBbekx.png",
"created_at": "2020-08-25T16:29:35.000000Z",
"updated_at": "2020-08-25T16:29:35.000000Z"
},
"type": "h5p",
"h5pLib": "H5P.AudioRecorder 1.0",
"image": "/storage/activity-items/zGUwGiarxX5Xt0UDFMMHtJ3ICGy1F9W68cO0Ukm6.png",
"demo_activity_id": "768",
"demo_video_id": "https://youtu.be/O73hIb7yxLg",
"organization_id": 1,
"created_at": "2020-08-25T16:29:35.000000Z",
"updated_at": "2020-08-25T16:29:35.000000Z"
}
}
Received response:
Request failed with error:
Remove Activity Item
Remove the specified activity item.
Example request:
curl --request DELETE \
"http://localhost:8000/api/v1/suborganizations/1/activity-items/62" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/suborganizations/1/activity-items/62"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->delete(
'http://localhost:8000/api/v1/suborganizations/1/activity-items/62',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "Activity item has been deleted successfully."
}
Example response (500):
{
"errors": [
"Failed to delete activity item."
]
}
Received response:
Request failed with error:
Get Activity Items with pagination and search
Get a list of the activity items.
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/suborganizations/1/get-activity-items" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/suborganizations/1/get-activity-items"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/suborganizations/1/get-activity-items',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"activityItems": [
{
"id": 1,
"title": "Audio Recorder",
"description": "Record your voice and play back or download a .wav file of your recording.",
"order": 1,
"activityType": {
"id": 1,
"title": "Audio",
"order": 0,
"image": "/storage/activity-types/4kZL5uuExvNPngVsaIdC7JscWmstOTsYO8sBbekx.png",
"created_at": "2020-08-25T16:29:35.000000Z",
"updated_at": "2020-08-25T16:29:35.000000Z"
},
"type": "h5p",
"h5pLib": "H5P.AudioRecorder 1.0",
"image": "/storage/activity-items/zGUwGiarxX5Xt0UDFMMHtJ3ICGy1F9W68cO0Ukm6.png",
"demo_activity_id": "768",
"demo_video_id": "https://youtu.be/O73hIb7yxLg",
"organization_id": 1,
"created_at": "2020-08-25T16:29:35.000000Z",
"updated_at": "2020-08-25T16:29:35.000000Z"
},
{
"id": 2,
"title": "Dictation",
"description": "A tool to create dictation exercises",
"order": 2,
"activityType": {
"id": 1,
"title": "Audio",
"order": 0,
"image": "/storage/activity-types/4kZL5uuExvNPngVsaIdC7JscWmstOTsYO8sBbekx.png",
"created_at": "2020-08-25T16:29:35.000000Z",
"updated_at": "2020-08-25T16:29:35.000000Z"
},
"type": "h5p",
"h5pLib": "H5P.Dictation 1.0",
"image": "/storage/activity-items/WpXZiHcrkBmbSXE3OMOmHTovHKP3wzk9suHHfe1X.png",
"demo_activity_id": "760",
"demo_video_id": "https://youtu.be/O73ikb7yxLg",
"organization_id": 1,
"created_at": "2020-08-25T16:29:35.000000Z",
"updated_at": "2020-08-25T16:29:35.000000Z"
}
]
}
Received response:
Request failed with error:
Upload Thumbnail
Upload thumbnail image for a activity item
Example request:
curl --request POST \
"http://localhost:8000/api/v1/activity-items/upload-thumb" \
--header "Content-Type: multipart/form-data" \
--header "Accept: application/json" \
--form "thumb=omnis" \
--form "image=@C:\Users\Administrator\AppData\Local\Temp\php4E32.tmp" const url = new URL(
"http://localhost:8000/api/v1/activity-items/upload-thumb"
);
const headers = {
"Content-Type": "multipart/form-data",
"Accept": "application/json",
};
const body = new FormData();
body.append('thumb', 'omnis');
body.append('image', document.querySelector('input[name="image"]').files[0]);
fetch(url, {
method: "POST",
headers,
body,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/activity-items/upload-thumb',
[
'headers' => [
'Content-Type' => 'multipart/form-data',
'Accept' => 'application/json',
],
'multipart' => [
[
'name' => 'thumb',
'contents' => 'omnis'
],
[
'name' => 'image',
'contents' => fopen('C:\Users\Administrator\AppData\Local\Temp\php4E32.tmp', 'r')
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"thumbUrl": "/storage/activity-items/1fqwe2f65ewf465qwe46weef5w5eqwq.png"
}
Example response (400):
{
"errors": [
"Invalid image."
]
}
Received response:
Request failed with error:
9. Activity Type
APIs for activity type management
Get Activity Type Items
Get a list of activity items of the specified activity type.
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/activity-types/7/items" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/activity-types/7/items"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/activity-types/7/items',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"activityItems": [
{
"id": 52,
"title": "Spoken Answers",
"description": "Voice recognition activity that the learner can answered with their own voice.",
"order": 3,
"activity_type_id": 7,
"type": "h5p",
"h5pLib": "H5P.SpeakTheWords 1.3",
"image": "/storage/uploads/7iyRffLSS9QdFKCazDuDetl6WPk4BQP8tEP2eeuJ.png",
"created_at": "2020-09-12T01:16:52.000000Z",
"updated_at": "2020-09-12T01:16:52.000000Z",
"deleted_at": null,
"demo_activity_id": "769",
"demo_video_id": "https://youtu.be/lgzsJDcMvPI"
},
{
"id": 50,
"title": "Audio Recorder",
"description": "Record your voice and play back or download a .wav file of your recording.",
"order": 1,
"activity_type_id": 7,
"type": "h5p",
"h5pLib": "H5P.AudioRecorder 1.0",
"image": "/storage/uploads/zGUwGiarxX5Xt0UDFMMHtJ3ICGy1F9W68cO0Ukm6.png",
"created_at": "2020-09-12T01:16:52.000000Z",
"updated_at": "2020-09-12T01:16:52.000000Z",
"deleted_at": null,
"demo_activity_id": "768",
"demo_video_id": "https://youtu.be/O73hIb7yxLg"
},
{
"id": 51,
"title": "Dictation",
"description": "A tool to create dictation exercises",
"order": 2,
"activity_type_id": 7,
"type": "h5p",
"h5pLib": "H5P.Dictation 1.0",
"image": "/storage/uploads/WpXZiHcrkBmbSXE3OMOmHTovHKP3wzk9suHHfe1X.png",
"created_at": "2020-09-12T01:16:52.000000Z",
"updated_at": "2020-09-12T01:16:52.000000Z",
"deleted_at": null,
"demo_activity_id": "767",
"demo_video_id": "https://youtu.be/JLYtQpB0JmY"
}
]
}
Received response:
Request failed with error:
Get Activity Types
Get a list of the activity types.
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/suborganizations/1/activity-types" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/suborganizations/1/activity-types"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/suborganizations/1/activity-types',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"activityTypes": [
{
"id": 7,
"title": "Audio",
"order": 0,
"image": "/storage/uploads/4kZL5uuExvNPngVsaIdC7JscWmstOTsYO8sBbekx.png",
"organization_id": 1,
"activityItems": [
{
"id": 52,
"title": "Spoken Answers",
"description": "Voice recognition activity that the learner can answered with their own voice.",
"order": 3,
"activity_type_id": 7,
"type": "h5p",
"h5pLib": "H5P.SpeakTheWords 1.3",
"image": "/storage/uploads/7iyRffLSS9QdFKCazDuDetl6WPk4BQP8tEP2eeuJ.png",
"created_at": "2020-09-12T01:16:52.000000Z",
"updated_at": "2020-09-12T01:16:52.000000Z",
"deleted_at": null,
"demo_activity_id": "769",
"demo_video_id": "https://youtu.be/lgzsJDcMvPI",
"organization_id": 1
},
{
"id": 50,
"title": "Audio Recorder",
"description": "Record your voice and play back or download a .wav file of your recording.",
"order": 1,
"activity_type_id": 7,
"type": "h5p",
"h5pLib": "H5P.AudioRecorder 1.0",
"image": "/storage/uploads/zGUwGiarxX5Xt0UDFMMHtJ3ICGy1F9W68cO0Ukm6.png",
"created_at": "2020-09-12T01:16:52.000000Z",
"updated_at": "2020-09-12T01:16:52.000000Z",
"deleted_at": null,
"demo_activity_id": "768",
"demo_video_id": "https://youtu.be/O73hIb7yxLg",
"organization_id": 1
}
],
"created_at": "2020-09-10T01:16:52.000000Z",
"updated_at": "2020-09-10T01:16:52.000000Z"
},
{
"id": 8,
"title": "Informational",
"order": 0,
"image": "/storage/uploads/O8M6MvWrdtqrZSczhzzbTdCCDulrKxLJslYTzcwL.png",
"activityItems": [
{
"id": 54,
"title": "Dialog Cards",
"description": "Create great interactive language learning resources",
"order": 2,
"activity_type_id": 8,
"type": "h5p",
"h5pLib": "H5P.Dialogcards 1.8",
"image": "/storage/uploads/GPrWdvREEixWnQtKtTO0RsBY5cg0XznBoozygcy6.png",
"created_at": "2020-09-12T01:16:52.000000Z",
"updated_at": "2020-09-28T08:56:13.000000Z",
"deleted_at": null,
"demo_activity_id": "732",
"demo_video_id": "https://youtu.be/Fh5zrkWgAjk",
"organization_id": 1
},
{
"id": 57,
"title": "Summary",
"description": "Create challenges where the learner chooses statements to reach the correct conclusion.",
"order": 5,
"activity_type_id": 8,
"type": "h5p",
"h5pLib": "H5P.Summary 1.10",
"image": "/storage/uploads/rFvefEi5bNmj14yDW6WTnirkUm8TY3eu4PgKz1Gi.png",
"created_at": "2020-09-12T01:16:52.000000Z",
"updated_at": "2020-09-12T01:16:52.000000Z",
"deleted_at": null,
"demo_activity_id": "762",
"demo_video_id": "https://youtu.be/EuXbu4Y4EkU",
"organization_id": 1
}
],
"created_at": "2020-09-10T01:16:52.000000Z",
"updated_at": "2020-09-10T01:16:52.000000Z"
}
]
}
Received response:
Request failed with error:
Create Activity Type
Create a new activity type.
Example request:
curl --request POST \
"http://localhost:8000/api/v1/suborganizations/1/activity-types" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"title\": \"Audio\",
\"image\": \"soluta\",
\"order\": 1,
\"organization_id\": 6
}"
const url = new URL(
"http://localhost:8000/api/v1/suborganizations/1/activity-types"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"title": "Audio",
"image": "soluta",
"order": 1,
"organization_id": 6
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/suborganizations/1/activity-types',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'title' => 'Audio',
'image' => 'soluta',
'order' => 1,
'organization_id' => 6,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (500):
{
"errors": [
"Could not create activity type. Please try again later."
]
}
Example response (200):
{
"id": 7,
"title": "Audio",
"order": 0,
"image": "/storage/uploads/4kZL5uuExvNPngVsaIdC7JscWmstOTsYO8sBbekx.png",
"organization_id": 1,
"activityItems": [
{
"id": 52,
"title": "Spoken Answers",
"description": "Voice recognition activity that the learner can answered with their own voice.",
"order": 3,
"activity_type_id": 7,
"type": "h5p",
"h5pLib": "H5P.SpeakTheWords 1.3",
"image": "/storage/uploads/7iyRffLSS9QdFKCazDuDetl6WPk4BQP8tEP2eeuJ.png",
"created_at": "2020-09-12T01:16:52.000000Z",
"updated_at": "2020-09-12T01:16:52.000000Z",
"deleted_at": null,
"demo_activity_id": "769",
"demo_video_id": "https://youtu.be/lgzsJDcMvPI"
},
{
"id": 50,
"title": "Audio Recorder",
"description": "Record your voice and play back or download a .wav file of your recording.",
"order": 1,
"activity_type_id": 7,
"type": "h5p",
"h5pLib": "H5P.AudioRecorder 1.0",
"image": "/storage/uploads/zGUwGiarxX5Xt0UDFMMHtJ3ICGy1F9W68cO0Ukm6.png",
"created_at": "2020-09-12T01:16:52.000000Z",
"updated_at": "2020-09-12T01:16:52.000000Z",
"deleted_at": null,
"demo_activity_id": "768",
"demo_video_id": "https://youtu.be/O73hIb7yxLg",
"organization_id": 1
},
{
"id": 51,
"title": "Dictation",
"description": "A tool to create dictation exercises",
"order": 2,
"activity_type_id": 7,
"type": "h5p",
"h5pLib": "H5P.Dictation 1.0",
"image": "/storage/uploads/WpXZiHcrkBmbSXE3OMOmHTovHKP3wzk9suHHfe1X.png",
"created_at": "2020-09-12T01:16:52.000000Z",
"updated_at": "2020-09-12T01:16:52.000000Z",
"deleted_at": null,
"demo_activity_id": "767",
"demo_video_id": "https://youtu.be/JLYtQpB0JmY",
"organization_id": 1
}
],
"created_at": "2020-09-10T01:16:52.000000Z",
"updated_at": "2020-09-10T01:16:52.000000Z"
}
Received response:
Request failed with error:
Get Activity Type
Get the specified activity type.
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/suborganizations/1/activity-types/7" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/suborganizations/1/activity-types/7"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/suborganizations/1/activity-types/7',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"id": 7,
"title": "Audio",
"order": 0,
"image": "/storage/uploads/4kZL5uuExvNPngVsaIdC7JscWmstOTsYO8sBbekx.png",
"organization_id": 1,
"activityItems": [
{
"id": 52,
"title": "Spoken Answers",
"description": "Voice recognition activity that the learner can answered with their own voice.",
"order": 3,
"activity_type_id": 7,
"type": "h5p",
"h5pLib": "H5P.SpeakTheWords 1.3",
"image": "/storage/uploads/7iyRffLSS9QdFKCazDuDetl6WPk4BQP8tEP2eeuJ.png",
"created_at": "2020-09-12T01:16:52.000000Z",
"updated_at": "2020-09-12T01:16:52.000000Z",
"deleted_at": null,
"demo_activity_id": "769",
"demo_video_id": "https://youtu.be/lgzsJDcMvPI"
},
{
"id": 50,
"title": "Audio Recorder",
"description": "Record your voice and play back or download a .wav file of your recording.",
"order": 1,
"activity_type_id": 7,
"type": "h5p",
"h5pLib": "H5P.AudioRecorder 1.0",
"image": "/storage/uploads/zGUwGiarxX5Xt0UDFMMHtJ3ICGy1F9W68cO0Ukm6.png",
"created_at": "2020-09-12T01:16:52.000000Z",
"updated_at": "2020-09-12T01:16:52.000000Z",
"deleted_at": null,
"demo_activity_id": "768",
"demo_video_id": "https://youtu.be/O73hIb7yxLg",
"organization_id": 1
},
{
"id": 51,
"title": "Dictation",
"description": "A tool to create dictation exercises",
"order": 2,
"activity_type_id": 7,
"type": "h5p",
"h5pLib": "H5P.Dictation 1.0",
"image": "/storage/uploads/WpXZiHcrkBmbSXE3OMOmHTovHKP3wzk9suHHfe1X.png",
"created_at": "2020-09-12T01:16:52.000000Z",
"updated_at": "2020-09-12T01:16:52.000000Z",
"deleted_at": null,
"demo_activity_id": "767",
"demo_video_id": "https://youtu.be/JLYtQpB0JmY",
"organization_id": 1
}
],
"created_at": "2020-09-10T01:16:52.000000Z",
"updated_at": "2020-09-10T01:16:52.000000Z"
}
Received response:
Request failed with error:
Remove Activity Type
Remove the specified activity type.
Example request:
curl --request DELETE \
"http://localhost:8000/api/v1/suborganizations/1/activity-types/7" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/suborganizations/1/activity-types/7"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->delete(
'http://localhost:8000/api/v1/suborganizations/1/activity-types/7',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "Activity type has been deleted successfully."
}
Example response (500):
{
"message": [
"Failed to delete activity type."
]
}
Received response:
Request failed with error:
Upload Thumbnail
Upload thumbnail image for a activity type
Example request:
curl --request POST \
"http://localhost:8000/api/v1/activity-types/upload-thumb" \
--header "Content-Type: multipart/form-data" \
--header "Accept: application/json" \
--form "thumb=nisi" \
--form "image=@C:\Users\Administrator\AppData\Local\Temp\php4E20.tmp" const url = new URL(
"http://localhost:8000/api/v1/activity-types/upload-thumb"
);
const headers = {
"Content-Type": "multipart/form-data",
"Accept": "application/json",
};
const body = new FormData();
body.append('thumb', 'nisi');
body.append('image', document.querySelector('input[name="image"]').files[0]);
fetch(url, {
method: "POST",
headers,
body,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/activity-types/upload-thumb',
[
'headers' => [
'Content-Type' => 'multipart/form-data',
'Accept' => 'application/json',
],
'multipart' => [
[
'name' => 'thumb',
'contents' => 'nisi'
],
[
'name' => 'image',
'contents' => fopen('C:\Users\Administrator\AppData\Local\Temp\php4E20.tmp', 'r')
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"thumbUrl": "/storage/activity-types/1fqwe2f65ewf465qwe46weef5w5eqwq.png"
}
Example response (400):
{
"errors": [
"Invalid image."
]
}
Received response:
Request failed with error:
10. CurrikiGo
APIs for publishing playlists to other LMSs
Publish Playlist to Canvas
Publish the specified playlist to Canvas.
Example request:
curl --request POST \
"http://localhost:8000/api/v1/go/canvas/projects/3024/playlists/186/publish" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"setting_id\": 1,
\"counter\": 1,
\"publisher_org\": 15,
\"creation_type\": \"assignments\",
\"canvas_course_id\": 8
}"
const url = new URL(
"http://localhost:8000/api/v1/go/canvas/projects/3024/playlists/186/publish"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"setting_id": 1,
"counter": 1,
"publisher_org": 15,
"creation_type": "assignments",
"canvas_course_id": 8
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/go/canvas/projects/3024/playlists/186/publish',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'setting_id' => 1,
'counter' => 1,
'publisher_org' => 15,
'creation_type' => 'assignments',
'canvas_course_id' => 8,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (400):
{
"errors": [
"Invalid project or playlist Id."
]
}
Example response (403):
{
"errors": [
"You are not authorized to perform this action."
]
}
Example response (500):
{
"errors": [
"Failed to send playlist to canvas."
]
}
Example response (200):
{
"playlist": {
"id": 1,
"title": "Development Setup",
"position": 4,
"type": "ExternalTool",
"module_id": 26,
"content_id": 0,
"html_url": "https://canvas2.curriki.org/courses/32/modules/items/112",
"url": "https://canvas2.curriki.org/api/v1/courses/32/external_tools/sessionless_launch?launch_type=module_item&module_item_id=112",
"external_url": "https://tsugi.curriki.org/mod/curriki/?playlist=1",
"new_tab": false,
"completion_requirement": {
"type": "must_view"
},
"published": false,
"indent": 0
}
}
Received response:
Request failed with error:
Publish Playlist to Moodle
Publish the specified playlist to Moodle.
Example request:
curl --request POST \
"http://localhost:8000/api/v1/go/moodle/projects/3024/playlists/186/publish" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"setting_id\": 1,
\"counter\": 1,
\"publisher_org\": 18
}"
const url = new URL(
"http://localhost:8000/api/v1/go/moodle/projects/3024/playlists/186/publish"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"setting_id": 1,
"counter": 1,
"publisher_org": 18
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/go/moodle/projects/3024/playlists/186/publish',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'setting_id' => 1,
'counter' => 1,
'publisher_org' => 18,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (400):
{
"errors": [
"Invalid project or playlist Id."
]
}
Example response (403):
{
"errors": [
"You are not authorized to perform this action."
]
}
Example response (500):
{
"errors": [
"Failed to send playlist to Moodle."
]
}
Received response:
Request failed with error:
POST api/v1/go/{lms}/projects/{project_id}/playlists/{playlist_id}/publish
Example request:
curl --request POST \
"http://localhost:8000/api/v1/go/dolore/projects/3024/playlists/186/publish" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"setting_id\": \"ut\",
\"counter\": 9,
\"publisher_org\": 7,
\"creation_type\": \"assignments\",
\"canvas_course_id\": 14
}"
const url = new URL(
"http://localhost:8000/api/v1/go/dolore/projects/3024/playlists/186/publish"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"setting_id": "ut",
"counter": 9,
"publisher_org": 7,
"creation_type": "assignments",
"canvas_course_id": 14
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/go/dolore/projects/3024/playlists/186/publish',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'setting_id' => 'ut',
'counter' => 9,
'publisher_org' => 7,
'creation_type' => 'assignments',
'canvas_course_id' => 14,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Received response:
Request failed with error:
11. CurrikiGo Course
APIs for fetching courses from LMSs
Fetch a Course
Fetch a Course from Canvas
Example request:
curl --request POST \
"http://localhost:8000/api/v1/go/canvas/projects/3024/fetch" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"setting_id\": 2
}"
const url = new URL(
"http://localhost:8000/api/v1/go/canvas/projects/3024/fetch"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"setting_id": 2
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/go/canvas/projects/3024/fetch',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'setting_id' => 2,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (400):
{
"errors": [
"Validation error"
]
}
Example response (403):
{
"errors": [
"You are not authorized to perform this action."
]
}
Example response (200):
{
"project": {
"course": "How to build a playlist in CurrikiStudio",
"playlists": [
"Playlist 1",
"Playlist 2",
"Playlist 3",
"Playlist 4"
]
}
}
Received response:
Request failed with error:
Fetch a Course from Generic
Example request:
curl --request POST \
"http://localhost:8000/api/v1/go/atque/projects/3024/fetch" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"setting_id\": \"dolor\"
}"
const url = new URL(
"http://localhost:8000/api/v1/go/atque/projects/3024/fetch"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"setting_id": "dolor"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/go/atque/projects/3024/fetch',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'setting_id' => 'dolor',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Received response:
Request failed with error:
12. H5P
APIs for H5P management
Create H5P Settings
Create H5P Settings in the database.
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/h5p/settings" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/h5p/settings"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/h5p/settings',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (500):
Show headers
cache-control: no-cache, private
content-type: application/json
{
"message": "Unable to read key from file file://D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\storage\\oauth-public.key",
"exception": "LogicException",
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\league\\oauth2-server\\src\\CryptKey.php",
"line": 67,
"trace": [
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\passport\\src\\PassportServiceProvider.php",
"line": 275,
"function": "__construct",
"class": "League\\OAuth2\\Server\\CryptKey",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\passport\\src\\PassportServiceProvider.php",
"line": 256,
"function": "makeCryptKey",
"class": "Laravel\\Passport\\PassportServiceProvider",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 873,
"function": "Laravel\\Passport\\{closure}",
"class": "Laravel\\Passport\\PassportServiceProvider",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 758,
"function": "build",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Application.php",
"line": 851,
"function": "resolve",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 694,
"function": "resolve",
"class": "Illuminate\\Foundation\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Application.php",
"line": 836,
"function": "make",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\passport\\src\\PassportServiceProvider.php",
"line": 304,
"function": "make",
"class": "Illuminate\\Foundation\\Application",
"type": "->"
},
{
"function": "Laravel\\Passport\\{closure}",
"class": "Laravel\\Passport\\PassportServiceProvider",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\RequestGuard.php",
"line": 58,
"function": "call_user_func"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\GuardHelpers.php",
"line": 60,
"function": "user",
"class": "Illuminate\\Auth\\RequestGuard",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\Middleware\\Authenticate.php",
"line": 63,
"function": "check",
"class": "Illuminate\\Auth\\RequestGuard",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\Middleware\\Authenticate.php",
"line": 42,
"function": "authenticate",
"class": "Illuminate\\Auth\\Middleware\\Authenticate",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Auth\\Middleware\\Authenticate",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 103,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 723,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 698,
"function": "runRouteWithinStack",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 662,
"function": "runRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 651,
"function": "dispatchToRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 167,
"function": "dispatch",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 128,
"function": "Illuminate\\Foundation\\Http\\{closure}",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull.php",
"line": 31,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TrimStrings.php",
"line": 40,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TrimStrings",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize.php",
"line": 27,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance.php",
"line": 86,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\app\\Http\\Middleware\\Cors.php",
"line": 40,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "App\\Http\\Middleware\\Cors",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\fideloper\\proxy\\src\\TrustProxies.php",
"line": 57,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Fideloper\\Proxy\\TrustProxies",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 103,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 142,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 111,
"function": "sendRequestThroughRouter",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 299,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 287,
"function": "callLaravelOrLumenRoute",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 89,
"function": "makeApiCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 45,
"function": "makeResponseCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 35,
"function": "makeResponseCallIfConditionsPass",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 222,
"function": "__invoke",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 179,
"function": "iterateThroughStrategies",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 116,
"function": "fetchResponses",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 123,
"function": "processRoute",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 80,
"function": "extractEndpointsInfoFromLaravelApp",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 56,
"function": "extractEndpointsInfoAndWriteToDisk",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Commands\\GenerateDocumentation.php",
"line": 55,
"function": "get",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 36,
"function": "handle",
"class": "Knuckles\\Scribe\\Commands\\GenerateDocumentation",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Util.php",
"line": 40,
"function": "Illuminate\\Container\\{closure}",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 93,
"function": "unwrapIfClosure",
"class": "Illuminate\\Container\\Util",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 37,
"function": "callBoundMethod",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 653,
"function": "call",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
"line": 136,
"function": "call",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Command\\Command.php",
"line": 298,
"function": "execute",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
"line": 121,
"function": "run",
"class": "Symfony\\Component\\Console\\Command\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 1040,
"function": "run",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 301,
"function": "doRunCommand",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 171,
"function": "doRun",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Application.php",
"line": 94,
"function": "run",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Console\\Kernel.php",
"line": 129,
"function": "run",
"class": "Illuminate\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\artisan",
"line": 37,
"function": "handle",
"class": "Illuminate\\Foundation\\Console\\Kernel",
"type": "->"
}
]
}
Received response:
Request failed with error:
Get H5Ps
Get a list of the H5Ps.
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/h5p" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/h5p"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/h5p',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (500):
Show headers
cache-control: no-cache, private
content-type: application/json
{
"message": "Unable to read key from file file://D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\storage\\oauth-public.key",
"exception": "LogicException",
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\league\\oauth2-server\\src\\CryptKey.php",
"line": 67,
"trace": [
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\passport\\src\\PassportServiceProvider.php",
"line": 275,
"function": "__construct",
"class": "League\\OAuth2\\Server\\CryptKey",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\passport\\src\\PassportServiceProvider.php",
"line": 256,
"function": "makeCryptKey",
"class": "Laravel\\Passport\\PassportServiceProvider",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 873,
"function": "Laravel\\Passport\\{closure}",
"class": "Laravel\\Passport\\PassportServiceProvider",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 758,
"function": "build",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Application.php",
"line": 851,
"function": "resolve",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 694,
"function": "resolve",
"class": "Illuminate\\Foundation\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Application.php",
"line": 836,
"function": "make",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\passport\\src\\PassportServiceProvider.php",
"line": 304,
"function": "make",
"class": "Illuminate\\Foundation\\Application",
"type": "->"
},
{
"function": "Laravel\\Passport\\{closure}",
"class": "Laravel\\Passport\\PassportServiceProvider",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\RequestGuard.php",
"line": 58,
"function": "call_user_func"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\GuardHelpers.php",
"line": 60,
"function": "user",
"class": "Illuminate\\Auth\\RequestGuard",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\Middleware\\Authenticate.php",
"line": 63,
"function": "check",
"class": "Illuminate\\Auth\\RequestGuard",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\Middleware\\Authenticate.php",
"line": 42,
"function": "authenticate",
"class": "Illuminate\\Auth\\Middleware\\Authenticate",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Auth\\Middleware\\Authenticate",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 103,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 723,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 698,
"function": "runRouteWithinStack",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 662,
"function": "runRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 651,
"function": "dispatchToRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 167,
"function": "dispatch",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 128,
"function": "Illuminate\\Foundation\\Http\\{closure}",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull.php",
"line": 31,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TrimStrings.php",
"line": 40,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TrimStrings",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize.php",
"line": 27,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance.php",
"line": 86,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\app\\Http\\Middleware\\Cors.php",
"line": 40,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "App\\Http\\Middleware\\Cors",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\fideloper\\proxy\\src\\TrustProxies.php",
"line": 57,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Fideloper\\Proxy\\TrustProxies",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 103,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 142,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 111,
"function": "sendRequestThroughRouter",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 299,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 287,
"function": "callLaravelOrLumenRoute",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 89,
"function": "makeApiCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 45,
"function": "makeResponseCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 35,
"function": "makeResponseCallIfConditionsPass",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 222,
"function": "__invoke",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 179,
"function": "iterateThroughStrategies",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 116,
"function": "fetchResponses",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 123,
"function": "processRoute",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 80,
"function": "extractEndpointsInfoFromLaravelApp",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 56,
"function": "extractEndpointsInfoAndWriteToDisk",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Commands\\GenerateDocumentation.php",
"line": 55,
"function": "get",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 36,
"function": "handle",
"class": "Knuckles\\Scribe\\Commands\\GenerateDocumentation",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Util.php",
"line": 40,
"function": "Illuminate\\Container\\{closure}",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 93,
"function": "unwrapIfClosure",
"class": "Illuminate\\Container\\Util",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 37,
"function": "callBoundMethod",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 653,
"function": "call",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
"line": 136,
"function": "call",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Command\\Command.php",
"line": 298,
"function": "execute",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
"line": 121,
"function": "run",
"class": "Symfony\\Component\\Console\\Command\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 1040,
"function": "run",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 301,
"function": "doRunCommand",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 171,
"function": "doRun",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Application.php",
"line": 94,
"function": "run",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Console\\Kernel.php",
"line": 129,
"function": "run",
"class": "Illuminate\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\artisan",
"line": 37,
"function": "handle",
"class": "Illuminate\\Foundation\\Console\\Kernel",
"type": "->"
}
]
}
Received response:
Request failed with error:
Store H5P
Store H5P Content
Example request:
curl --request POST \
"http://localhost:8000/api/v1/h5p" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"action\": \"cupiditate\"
}"
const url = new URL(
"http://localhost:8000/api/v1/h5p"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"action": "cupiditate"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/h5p',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'action' => 'cupiditate',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Received response:
Request failed with error:
Get H5P
Get the specified H5P
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/h5p/1" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/h5p/1"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/h5p/1',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"settings": {
"baseUrl": "https://www.currikistudio.org/api",
"url": "https://www.currikistudio.org/api/storage/h5p",
"postUserStatistics": true,
"ajax": {
"setFinished": "https://www.currikistudio.org/api/api/h5p/ajax/url",
"contentUserData": "https://www.currikistudio.org/api/api/h5p/ajax/content-user-data/?content_id=:contentId&data_type=:dataType&sub_content_id=:subContentId"
},
"saveFreq": false,
"siteUrl": "https://www.currikistudio.org/api",
"l10n": {
"H5P": {
"fullscreen": "Fullscreen",
"disableFullscreen": "Disable fullscreen",
"download": "Download",
"copyrights": "Rights of use",
"embed": "Embed",
"reuseDescription": "Reuse this content.",
"size": "Size",
"showAdvanced": "Show advanced",
"hideAdvanced": "Hide advanced",
"advancedHelp": "Include this script on your website if you want dynamic sizing of the embedded content:",
"copyrightInformation": "Rights of use",
"close": "Close",
"title": "Title",
"author": "Author",
"year": "Year",
"source": "Source",
"license": "License",
"thumbnail": "Thumbnail",
"noCopyrights": "No copyright information available for this content.",
"downloadDescription": "Download this content as a H5P file.",
"copyrightsDescription": "View copyright information for this content.",
"embedDescription": "View the embed code for this content.",
"h5pDescription": "Visit H5P.org to check out more cool content.",
"contentChanged": "This content has changed since you last used it.",
"startingOver": "You'll be starting over.",
"confirmDialogHeader": "Confirm action",
"confirmDialogBody": "Please confirm that you wish to proceed. This action is not reversible.",
"cancelLabel": "Cancel",
"confirmLabel": "Confirm",
"reuse": "Reuse",
"reuseContent": "Reuse Content"
}
},
"hubIsEnabled": false,
"user": {
"name": "John Doe",
"email": "john.doe@currikistudio.org"
},
"editor": {
"filesPath": "https://www.currikistudio.org/api/storage/h5p/editor",
"fileIcon": {
"path": "https://www.currikistudio.org/api/storage/h5p/h5p-editor/images/binary-file.png",
"width": 50,
"height": 50
},
"ajaxPath": "https://www.currikistudio.org/api/api/v1/h5p/ajax/",
"libraryUrl": "https://www.currikistudio.org/api/storage/h5p/h5p-editor/",
"copyrightSemantics": {
"name": "copyright",
"type": "group",
"label": "Copyright information",
"fields": [
{
"name": "title",
"type": "text",
"label": "Title",
"placeholder": "La Gioconda",
"optional": true
},
{
"name": "author",
"type": "text",
"label": "Author",
"placeholder": "Leonardo da Vinci",
"optional": true
},
{
"name": "year",
"type": "text",
"label": "Year(s)",
"placeholder": "1503 - 1517",
"optional": true
},
{
"name": "source",
"type": "text",
"label": "Source",
"placeholder": "http://en.wikipedia.org/wiki/Mona_Lisa",
"optional": true,
"regexp": {
"pattern": "^http[s]?://.+",
"modifiers": "i"
}
},
{
"name": "license",
"type": "select",
"label": "License",
"default": "U",
"options": [
{
"value": "U",
"label": "Undisclosed"
},
{
"value": "CC BY",
"label": "Attribution",
"versions": [
{
"value": "4.0",
"label": "4.0 International"
},
{
"value": "3.0",
"label": "3.0 Unported"
},
{
"value": "2.5",
"label": "2.5 Generic"
},
{
"value": "2.0",
"label": "2.0 Generic"
},
{
"value": "1.0",
"label": "1.0 Generic"
}
]
},
{
"value": "CC BY-SA",
"label": "Attribution-ShareAlike",
"versions": [
{
"value": "4.0",
"label": "4.0 International"
},
{
"value": "3.0",
"label": "3.0 Unported"
},
{
"value": "2.5",
"label": "2.5 Generic"
},
{
"value": "2.0",
"label": "2.0 Generic"
},
{
"value": "1.0",
"label": "1.0 Generic"
}
]
},
{
"value": "CC BY-ND",
"label": "Attribution-NoDerivs",
"versions": [
{
"value": "4.0",
"label": "4.0 International"
},
{
"value": "3.0",
"label": "3.0 Unported"
},
{
"value": "2.5",
"label": "2.5 Generic"
},
{
"value": "2.0",
"label": "2.0 Generic"
},
{
"value": "1.0",
"label": "1.0 Generic"
}
]
},
{
"value": "CC BY-NC",
"label": "Attribution-NonCommercial",
"versions": [
{
"value": "4.0",
"label": "4.0 International"
},
{
"value": "3.0",
"label": "3.0 Unported"
},
{
"value": "2.5",
"label": "2.5 Generic"
},
{
"value": "2.0",
"label": "2.0 Generic"
},
{
"value": "1.0",
"label": "1.0 Generic"
}
]
},
{
"value": "CC BY-NC-SA",
"label": "Attribution-NonCommercial-ShareAlike",
"versions": [
{
"value": "4.0",
"label": "4.0 International"
},
{
"value": "3.0",
"label": "3.0 Unported"
},
{
"value": "2.5",
"label": "2.5 Generic"
},
{
"value": "2.0",
"label": "2.0 Generic"
},
{
"value": "1.0",
"label": "1.0 Generic"
}
]
},
{
"value": "CC BY-NC-ND",
"label": "Attribution-NonCommercial-NoDerivs",
"versions": [
{
"value": "4.0",
"label": "4.0 International"
},
{
"value": "3.0",
"label": "3.0 Unported"
},
{
"value": "2.5",
"label": "2.5 Generic"
},
{
"value": "2.0",
"label": "2.0 Generic"
},
{
"value": "1.0",
"label": "1.0 Generic"
}
]
},
{
"value": "GNU GPL",
"label": "General Public License",
"versions": [
{
"value": "v3",
"label": "Version 3"
},
{
"value": "v2",
"label": "Version 2"
},
{
"value": "v1",
"label": "Version 1"
}
]
},
{
"value": "PD",
"label": "Public Domain",
"versions": [
{
"value": "-",
"label": "-"
},
{
"value": "CC0 1.0",
"label": "CC0 1.0 Universal"
},
{
"value": "CC PDM",
"label": "Public Domain Mark"
}
]
},
{
"value": "C",
"label": "Copyright"
}
]
},
{
"name": "version",
"type": "select",
"label": "License Version",
"options": []
}
]
},
"metadataSemantics": [
{
"name": "title",
"type": "text",
"label": "Title",
"placeholder": "La Gioconda"
},
{
"name": "license",
"type": "select",
"label": "License",
"default": "U",
"options": [
{
"value": "U",
"label": "Undisclosed"
},
{
"type": "optgroup",
"label": "Creative Commons",
"options": [
{
"value": "CC BY",
"label": "Attribution (CC BY)",
"versions": [
{
"value": "4.0",
"label": "4.0 International"
},
{
"value": "3.0",
"label": "3.0 Unported"
},
{
"value": "2.5",
"label": "2.5 Generic"
},
{
"value": "2.0",
"label": "2.0 Generic"
},
{
"value": "1.0",
"label": "1.0 Generic"
}
]
},
{
"value": "CC BY-SA",
"label": "Attribution-ShareAlike (CC BY-SA)",
"versions": [
{
"value": "4.0",
"label": "4.0 International"
},
{
"value": "3.0",
"label": "3.0 Unported"
},
{
"value": "2.5",
"label": "2.5 Generic"
},
{
"value": "2.0",
"label": "2.0 Generic"
},
{
"value": "1.0",
"label": "1.0 Generic"
}
]
},
{
"value": "CC BY-ND",
"label": "Attribution-NoDerivs (CC BY-ND)",
"versions": [
{
"value": "4.0",
"label": "4.0 International"
},
{
"value": "3.0",
"label": "3.0 Unported"
},
{
"value": "2.5",
"label": "2.5 Generic"
},
{
"value": "2.0",
"label": "2.0 Generic"
},
{
"value": "1.0",
"label": "1.0 Generic"
}
]
},
{
"value": "CC BY-NC",
"label": "Attribution-NonCommercial (CC BY-NC)",
"versions": [
{
"value": "4.0",
"label": "4.0 International"
},
{
"value": "3.0",
"label": "3.0 Unported"
},
{
"value": "2.5",
"label": "2.5 Generic"
},
{
"value": "2.0",
"label": "2.0 Generic"
},
{
"value": "1.0",
"label": "1.0 Generic"
}
]
},
{
"value": "CC BY-NC-SA",
"label": "Attribution-NonCommercial-ShareAlike (CC BY-NC-SA)",
"versions": [
{
"value": "4.0",
"label": "4.0 International"
},
{
"value": "3.0",
"label": "3.0 Unported"
},
{
"value": "2.5",
"label": "2.5 Generic"
},
{
"value": "2.0",
"label": "2.0 Generic"
},
{
"value": "1.0",
"label": "1.0 Generic"
}
]
},
{
"value": "CC BY-NC-ND",
"label": "Attribution-NonCommercial-NoDerivs (CC BY-NC-ND)",
"versions": [
{
"value": "4.0",
"label": "4.0 International"
},
{
"value": "3.0",
"label": "3.0 Unported"
},
{
"value": "2.5",
"label": "2.5 Generic"
},
{
"value": "2.0",
"label": "2.0 Generic"
},
{
"value": "1.0",
"label": "1.0 Generic"
}
]
},
{
"value": "CC0 1.0",
"label": "Public Domain Dedication (CC0)"
},
{
"value": "CC PDM",
"label": "Public Domain Mark (PDM)"
}
]
},
{
"value": "GNU GPL",
"label": "General Public License v3"
},
{
"value": "PD",
"label": "Public Domain"
},
{
"value": "ODC PDDL",
"label": "Public Domain Dedication and Licence"
},
{
"value": "C",
"label": "Copyright"
}
]
},
{
"name": "licenseVersion",
"type": "select",
"label": "License Version",
"options": [
{
"value": "4.0",
"label": "4.0 International"
},
{
"value": "3.0",
"label": "3.0 Unported"
},
{
"value": "2.5",
"label": "2.5 Generic"
},
{
"value": "2.0",
"label": "2.0 Generic"
},
{
"value": "1.0",
"label": "1.0 Generic"
}
],
"optional": true
},
{
"name": "yearFrom",
"type": "number",
"label": "Years (from)",
"placeholder": "1991",
"min": "-9999",
"max": "9999",
"optional": true
},
{
"name": "yearTo",
"type": "number",
"label": "Years (to)",
"placeholder": "1992",
"min": "-9999",
"max": "9999",
"optional": true
},
{
"name": "source",
"type": "text",
"label": "Source",
"placeholder": "https://",
"optional": true
},
{
"name": "authors",
"type": "list",
"field": {
"name": "author",
"type": "group",
"fields": [
{
"label": "Author's name",
"name": "name",
"optional": true,
"type": "text"
},
{
"name": "role",
"type": "select",
"label": "Author's role",
"default": "Author",
"options": [
{
"value": "Author",
"label": "Author"
},
{
"value": "Editor",
"label": "Editor"
},
{
"value": "Licensee",
"label": "Licensee"
},
{
"value": "Originator",
"label": "Originator"
}
]
}
]
}
},
{
"name": "licenseExtras",
"type": "text",
"widget": "textarea",
"label": "License Extras",
"optional": true,
"description": "Any additional information about the license"
},
{
"name": "changes",
"type": "list",
"field": {
"name": "change",
"type": "group",
"label": "Changelog",
"fields": [
{
"name": "date",
"type": "text",
"label": "Date",
"optional": true
},
{
"name": "author",
"type": "text",
"label": "Changed by",
"optional": true
},
{
"name": "log",
"type": "text",
"widget": "textarea",
"label": "Description of change",
"placeholder": "Photo cropped, text changed, etc.",
"optional": true
}
]
}
},
{
"name": "authorComments",
"type": "text",
"widget": "textarea",
"label": "Author comments",
"description": "Comments for the editor of the content (This text will not be published as a part of copyright info)",
"optional": true
},
{
"name": "contentType",
"type": "text",
"widget": "none"
},
{
"name": "defaultLanguage",
"type": "text",
"widget": "none"
}
],
"assets": {
"css": [
"https://www.currikistudio.org/api/storage/h5p/laravel-h5p/css/laravel-h5p.css",
"https://www.currikistudio.org/api/storage/h5p/h5p-core/styles/h5p.css",
"https://www.currikistudio.org/api/storage/h5p/h5p-core/styles/h5p-confirmation-dialog.css",
"https://www.currikistudio.org/api/storage/h5p/h5p-core/styles/h5p-core-button.css",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/libs/darkroom.css",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/styles/css/h5p-hub-client.css",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/styles/css/fonts.css",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/styles/css/application.css",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/styles/css/libs/zebra_datepicker.min.css"
],
"js": [
"https://www.currikistudio.org/api/storage/h5p/h5p-core/js/jquery.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-core/js/h5p.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-core/js/h5p-event-dispatcher.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-core/js/h5p-x-api-event.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-core/js/h5p-x-api.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-core/js/h5p-content-type.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-core/js/h5p-confirmation-dialog.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-core/js/h5p-action-bar.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-core/js/request-queue.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-editor.js",
"https://www.currikistudio.org/api/storage/h5p/laravel-h5p/js/laravel-h5p.js",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-help-dialog.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-message-dialog.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-progress-circle.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-simple-rounded-button.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-speech-bubble.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-throbber.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-tip.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-slider.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-score-bar.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-progressbar.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-ui.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/laravel-h5p/js/laravel-h5p-editor.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5p-hub-client.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-semantic-structure.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-library-selector.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-fullscreen-bar.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-form.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-text.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-html.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-number.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-textarea.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-file-uploader.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-file.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-image.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-image-popup.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-av.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-group.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-boolean.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-list.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-list-editor.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-library.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-library-list-cache.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-select.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-selector-hub.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-selector-legacy.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-dimensions.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-coordinates.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-none.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-metadata.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-metadata-author-widget.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-metadata-changelog-widget.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-pre-save.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/ckeditor/ckeditor.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/language/en.js"
]
},
"deleteMessage": "laravel-h5p.content.destoryed",
"apiVersion": {
"majorVersion": 1,
"minorVersion": 24
}
},
"loadedJs": [],
"loadedCss": [],
"core": {
"styles": [
"https://www.currikistudio.org/api/storage/h5p/laravel-h5p/css/laravel-h5p.css",
"https://www.currikistudio.org/api/storage/h5p/h5p-core/styles/h5p.css",
"https://www.currikistudio.org/api/storage/h5p/h5p-core/styles/h5p-confirmation-dialog.css",
"https://www.currikistudio.org/api/storage/h5p/h5p-core/styles/h5p-core-button.css"
],
"scripts": [
"https://www.currikistudio.org/api/storage/h5p/h5p-core/js/jquery.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-core/js/h5p.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-core/js/h5p-event-dispatcher.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-core/js/h5p-x-api-event.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-core/js/h5p-x-api.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-core/js/h5p-content-type.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-core/js/h5p-confirmation-dialog.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-core/js/h5p-action-bar.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-core/js/request-queue.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-editor.js",
"https://www.currikistudio.org/api/storage/h5p/laravel-h5p/js/laravel-h5p.js",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-help-dialog.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-message-dialog.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-progress-circle.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-simple-rounded-button.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-speech-bubble.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-throbber.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-tip.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-slider.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-score-bar.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-progressbar.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-ui.js?ver=1.3.9"
]
},
"contents": {
"cid-1021": {
"library": "H5P.InteractiveVideo 1.21",
"jsonContent": "{\"interactiveVideo\":{\"video\":{\"startScreenOptions\":{\"title\":\"Interactive Video\",\"hideStartTitle\":false},\"textTracks\":{\"videoTrack\":[{\"label\":\"Subtitles\",\"kind\":\"subtitles\",\"srcLang\":\"en\"}]},\"files\":[{\"path\":\"https://youtu.be/fcF8MxUj2Q0\",\"mime\":\"video/YouTube\",\"copyright\":{\"license\":\"U\"}}]},\"assets\":{},\"summary\":{\"task\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"df95f6d4-a3c9-4fc0-b97c-f3107649b7af\",\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"cb5b149b-fa96-498d-ab54-1f153716dc1e\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\"}},\"displayAt\":3}},\"override\":{\"autoplay\":false,\"loop\":false,\"showBookmarksmenuOnLoad\":false,\"showRewind10\":false,\"preventSkipping\":false,\"deactivateSound\":false},\"l10n\":{\"interaction\":\"Interaction\",\"play\":\"Play\",\"pause\":\"Pause\",\"mute\":\"Mute\",\"unmute\":\"Unmute\",\"quality\":\"Video Quality\",\"captions\":\"Captions\",\"close\":\"Close\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit Fullscreen\",\"summary\":\"Open summary dialog\",\"bookmarks\":\"Bookmarks\",\"endscreen\":\"Submit screen\",\"defaultAdaptivitySeekLabel\":\"Continue\",\"continueWithVideo\":\"Continue with video\",\"playbackRate\":\"Playback Rate\",\"rewind10\":\"Rewind 10 Seconds\",\"navDisabled\":\"Navigation is disabled\",\"sndDisabled\":\"Sound is disabled\",\"requiresCompletionWarning\":\"You need to answer all the questions correctly before continuing.\",\"back\":\"Back\",\"hours\":\"Hours\",\"minutes\":\"Minutes\",\"seconds\":\"Seconds\",\"currentTime\":\"Current time:\",\"totalTime\":\"Total time:\",\"singleInteractionAnnouncement\":\"Interaction appeared:\",\"multipleInteractionsAnnouncement\":\"Multiple interactions appeared.\",\"videoPausedAnnouncement\":\"Video is paused\",\"content\":\"Content\",\"answered\":\"@answered answered\",\"endcardTitle\":\"@answered Question(s) answered\",\"endcardInformation\":\"You have answered @answered questions, click below to submit your answers.\",\"endcardInformationNoAnswers\":\"You have not answered any questions.\",\"endcardInformationMustHaveAnswer\":\"You have to answer at least one question before you can submit your answers.\",\"endcardSubmitButton\":\"Submit Answers\",\"endcardSubmitMessage\":\"Your answers have been submitted!\",\"endcardTableRowAnswered\":\"Answered questions\",\"endcardTableRowScore\":\"Score\",\"endcardAnsweredScore\":\"answered\",\"endCardTableRowSummaryWithScore\":\"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\"endCardTableRowSummaryWithoutScore\":\"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\"}}",
"fullScreen": 1,
"exportUrl": "https://www.currikistudio.org/api/h5p/export/1021",
"embedCode": "<iframe src=\"https://www.currikistudio.org/h5p/embed/1021\" width=\":w\" height=\":h\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"></iframe>",
"resizeCode": "<script src=\"https://www.currikistudio.org/api/storage/h5p/h5p-core/js/h5p-resizer.js\" charset=\"UTF-8\"></script>",
"url": "https://www.currikistudio.org/api/h5p/embed/1021",
"title": "Tips and Tricks for Creating Projects in CurrikiStudio",
"displayOptions": {
"frame": false,
"export": true,
"embed": true,
"copyright": false,
"icon": true,
"copy": false
},
"contentUserData": [
{
"state": "{}"
}
],
"scripts": [
"https://www.currikistudio.org/api/storage/h5p/libraries/flowplayer-1.0/scripts/flowplayer-3.2.12.min.js?ver=1.0.5",
"https://www.currikistudio.org/api/storage/h5p/libraries/Drop-1.0/js/drop.min.js?ver=1.0.2",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.Transition-1.0/transition.js?ver=1.0.4",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-help-dialog.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-message-dialog.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-progress-circle.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-simple-rounded-button.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-speech-bubble.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-throbber.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-tip.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-slider.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-score-bar.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-progressbar.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-ui.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.Question-1.4/scripts/question.js?ver=1.4.7",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.Question-1.4/scripts/explainer.js?ver=1.4.7",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.Question-1.4/scripts/score-points.js?ver=1.4.7",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.Summary-1.10/js/stop-watch.js?ver=1.10.8",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.Summary-1.10/js/xapi-event-builder.js?ver=1.10.8",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.Summary-1.10/js/summary.js?ver=1.10.8",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.DragNDrop-1.1/drag-n-drop.js?ver=1.1.5",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.DragNResize-1.2/H5P.DragNResize.js?ver=1.2.6",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.DragNBar-1.5/scripts/drag-n-bar.js?ver=1.5.10",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.DragNBar-1.5/scripts/context-menu.js?ver=1.5.10",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.DragNBar-1.5/scripts/dialog.js?ver=1.5.10",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.DragNBar-1.5/scripts/drag-n-bar-element.js?ver=1.5.10",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.DragNBar-1.5/scripts/drag-n-bar-form-manager.js?ver=1.5.10",
"https://www.currikistudio.org/api/storage/h5p/libraries/jQuery.ui-1.10/h5p-jquery-ui.js?ver=1.10.19",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.Video-1.5/scripts/youtube.js?ver=1.5.12",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.Video-1.5/scripts/panopto.js?ver=1.5.12",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.Video-1.5/scripts/html5.js?ver=1.5.12",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.Video-1.5/scripts/flash.js?ver=1.5.12",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.Video-1.5/scripts/video.js?ver=1.5.12",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.InteractiveVideo-1.21/dist/h5p-interactive-video.js?ver=1.21.9"
],
"styles": [
"https://www.currikistudio.org/api/storage/h5p/libraries/FontAwesome-4.5/h5p-font-awesome.min.css?ver=4.5.4",
"https://www.currikistudio.org/api/storage/h5p/libraries/Drop-1.0/css/drop-theme-arrows-bounce.min.css?ver=1.0.2",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.FontIcons-1.0/styles/h5p-font-icons.css?ver=1.0.6",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/css/joubel-help-dialog.css?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/css/joubel-message-dialog.css?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/css/joubel-progress-circle.css?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/css/joubel-simple-rounded-button.css?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/css/joubel-speech-bubble.css?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/css/joubel-tip.css?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/css/joubel-slider.css?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/css/joubel-score-bar.css?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/css/joubel-progressbar.css?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/css/joubel-ui.css?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/css/joubel-icon.css?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.Question-1.4/styles/question.css?ver=1.4.7",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.Question-1.4/styles/explainer.css?ver=1.4.7",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.Summary-1.10/css/summary.css?ver=1.10.8",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.DragNResize-1.2/H5P.DragNResize.css?ver=1.2.6",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.DragNBar-1.5/styles/drag-n-bar.css?ver=1.5.10",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.DragNBar-1.5/styles/dialog.css?ver=1.5.10",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.DragNBar-1.5/styles/context-menu.css?ver=1.5.10",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.DragNBar-1.5/styles/drag-n-bar-form-manager.css?ver=1.5.10",
"https://www.currikistudio.org/api/storage/h5p/libraries/jQuery.ui-1.10/h5p-jquery-ui.css?ver=1.10.19",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.Video-1.5/styles/video.css?ver=1.5.12",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.InteractiveVideo-1.21/dist/h5p-interactive-video.css?ver=1.21.9"
]
}
}
},
"user": {
"created_at": "2020-09-06T19:21:08.000000Z",
"description": "test a test",
"id": 1779,
"is_public": false,
"name": "Amar",
"shared": true,
"starter_project": null,
"thumb_url": "https://photo.excel.com/photos/2233112/photo-2233112.jpeg",
"updated_at": "2020-09-07T16:31:52.000000Z"
},
"embed_code": "<div class=\"h5p-iframe-wrapper\"><iframe id=\"h5p-iframe-1021\" class=\"h5p-iframe\" data-content-id=\"1021\" style=\"height: 1px\" src=\"about:blank\" frameBorder=\"0\" scrolling=\"no\"></iframe></div>"
}
Received response:
Request failed with error:
Update H5P
Update the specified H5P
Example request:
curl --request PUT \
"http://localhost:8000/api/v1/h5p/a" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"action\": \"illo\"
}"
const url = new URL(
"http://localhost:8000/api/v1/h5p/a"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"action": "illo"
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->put(
'http://localhost:8000/api/v1/h5p/a',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'action' => 'illo',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"success": "Content updated.",
"id": 5
}
Example response (400):
{
"fail": "Can not update."
}
Received response:
Request failed with error:
Remove H5P
Remove the specified H5P
Example request:
curl --request DELETE \
"http://localhost:8000/api/v1/h5p/1" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/h5p/1"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->delete(
'http://localhost:8000/api/v1/h5p/1',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Received response:
Request failed with error:
GET api/v1/h5p/ajax/content-user-data
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/h5p/ajax/content-user-data" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/h5p/ajax/content-user-data"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/h5p/ajax/content-user-data',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (500):
Show headers
cache-control: no-cache, private
content-type: application/json
{
"message": "Unable to read key from file file://D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\storage\\oauth-public.key",
"exception": "LogicException",
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\league\\oauth2-server\\src\\CryptKey.php",
"line": 67,
"trace": [
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\passport\\src\\PassportServiceProvider.php",
"line": 275,
"function": "__construct",
"class": "League\\OAuth2\\Server\\CryptKey",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\passport\\src\\PassportServiceProvider.php",
"line": 256,
"function": "makeCryptKey",
"class": "Laravel\\Passport\\PassportServiceProvider",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 873,
"function": "Laravel\\Passport\\{closure}",
"class": "Laravel\\Passport\\PassportServiceProvider",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 758,
"function": "build",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Application.php",
"line": 851,
"function": "resolve",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 694,
"function": "resolve",
"class": "Illuminate\\Foundation\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Application.php",
"line": 836,
"function": "make",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\passport\\src\\PassportServiceProvider.php",
"line": 304,
"function": "make",
"class": "Illuminate\\Foundation\\Application",
"type": "->"
},
{
"function": "Laravel\\Passport\\{closure}",
"class": "Laravel\\Passport\\PassportServiceProvider",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\RequestGuard.php",
"line": 58,
"function": "call_user_func"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\GuardHelpers.php",
"line": 60,
"function": "user",
"class": "Illuminate\\Auth\\RequestGuard",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\Middleware\\Authenticate.php",
"line": 63,
"function": "check",
"class": "Illuminate\\Auth\\RequestGuard",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\Middleware\\Authenticate.php",
"line": 42,
"function": "authenticate",
"class": "Illuminate\\Auth\\Middleware\\Authenticate",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Auth\\Middleware\\Authenticate",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 103,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 723,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 698,
"function": "runRouteWithinStack",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 662,
"function": "runRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 651,
"function": "dispatchToRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 167,
"function": "dispatch",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 128,
"function": "Illuminate\\Foundation\\Http\\{closure}",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull.php",
"line": 31,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TrimStrings.php",
"line": 40,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TrimStrings",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize.php",
"line": 27,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance.php",
"line": 86,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\app\\Http\\Middleware\\Cors.php",
"line": 40,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "App\\Http\\Middleware\\Cors",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\fideloper\\proxy\\src\\TrustProxies.php",
"line": 57,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Fideloper\\Proxy\\TrustProxies",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 103,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 142,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 111,
"function": "sendRequestThroughRouter",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 299,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 287,
"function": "callLaravelOrLumenRoute",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 89,
"function": "makeApiCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 45,
"function": "makeResponseCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 35,
"function": "makeResponseCallIfConditionsPass",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 222,
"function": "__invoke",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 179,
"function": "iterateThroughStrategies",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 116,
"function": "fetchResponses",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 123,
"function": "processRoute",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 80,
"function": "extractEndpointsInfoFromLaravelApp",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 56,
"function": "extractEndpointsInfoAndWriteToDisk",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Commands\\GenerateDocumentation.php",
"line": 55,
"function": "get",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 36,
"function": "handle",
"class": "Knuckles\\Scribe\\Commands\\GenerateDocumentation",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Util.php",
"line": 40,
"function": "Illuminate\\Container\\{closure}",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 93,
"function": "unwrapIfClosure",
"class": "Illuminate\\Container\\Util",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 37,
"function": "callBoundMethod",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 653,
"function": "call",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
"line": 136,
"function": "call",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Command\\Command.php",
"line": 298,
"function": "execute",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
"line": 121,
"function": "run",
"class": "Symfony\\Component\\Console\\Command\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 1040,
"function": "run",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 301,
"function": "doRunCommand",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 171,
"function": "doRun",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Application.php",
"line": 94,
"function": "run",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Console\\Kernel.php",
"line": 129,
"function": "run",
"class": "Illuminate\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\artisan",
"line": 37,
"function": "handle",
"class": "Illuminate\\Foundation\\Console\\Kernel",
"type": "->"
}
]
}
Received response:
Request failed with error:
Get H5P Independent Activity
Get H5P based on Independent Activity
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/h5p/independent-activity/8/visibility/voluptatem" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/h5p/independent-activity/8/visibility/voluptatem"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/h5p/independent-activity/8/visibility/voluptatem',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"independent_h5p_activity": {
"id": 22,
"title": "Taurus 17 Jun 2022",
"type": "h5p",
"content": "place_holder",
"description": null,
"shared": false,
"order": 0,
"thumb_url": "https://images.pexels.com/photos/162258/cow-cattle-animal-bull-162258.jpeg?auto=compress&cs=tinysrgb&dpr=1&fit=crop&h=200&w=280",
"subject_id": null,
"education_level_id": null,
"h5p": {
"settings": {
"baseUrl": "https://dev.currikistudio.org/api",
"url": "https://dev.currikistudio.org/api/storage/h5p",
"postUserStatistics": false,
"ajax": {
"setFinished": "https://dev.currikistudio.org/api/api/v1/h5p/ajax/finish",
"contentUserData": "https://dev.currikistudio.org/api/api/v1/h5p/ajax/content-user-data?content_id=:contentId&data_type=:dataType&sub_content_id=:subContentId"
},
"saveFreq": 7,
"siteUrl": "https://dev.currikistudio.org/api",
"l10n": {
"H5P": {
"fullscreen": "Fullscreen",
"disableFullscreen": "Disable fullscreen",
"download": "Download",
"copyrights": "Rights of use",
"embed": "Embed",
"reuseDescription": "Reuse this content.",
"size": "Size",
"showAdvanced": "Show advanced",
"hideAdvanced": "Hide advanced",
"advancedHelp": "Include this script on your website if you want dynamic sizing of the embedded content:",
"copyrightInformation": "Rights of use",
"close": "Close",
"title": "Title",
"author": "Author",
"year": "Year",
"source": "Source",
"license": "License",
"thumbnail": "Thumbnail",
"noCopyrights": "No copyright information available for this content.",
"downloadDescription": "Download this content as a H5P file.",
"copyrightsDescription": "View copyright information for this content.",
"embedDescription": "View the embed code for this content.",
"h5pDescription": "Visit H5P.org to check out more cool content.",
"contentChanged": "This content has changed since you last used it.",
"startingOver": "You'll be starting over.",
"confirmDialogHeader": "Confirm action",
"confirmDialogBody": "Please confirm that you wish to proceed. This action is not reversible.",
"cancelLabel": "Cancel",
"confirmLabel": "Confirm",
"reuse": "Reuse",
"reuseContent": "Reuse Content"
}
},
"hubIsEnabled": false,
"reportingIsEnabled": true,
"editor": {
"filesPath": "https://dev.currikistudio.org/api/storage/h5p/editor",
"fileIcon": {
"path": "https://dev.currikistudio.org/api/storage/h5p/h5p-editor/images/binary-file.png",
"width": 50,
"height": 50
},
"ajaxPath": "https://dev.currikistudio.org/api/api/v1/h5p/ajax/",
"libraryUrl": "https://dev.currikistudio.org/api/storage/h5p/h5p-editor/",
"copyrightSemantics": {
"name": "copyright",
"type": "group",
"label": "Copyright information",
"fields": [
{
"name": "title",
"type": "text",
"label": "Title",
"placeholder": "La Gioconda",
"optional": true
},
{
"name": "author",
"type": "text",
"label": "Author",
"placeholder": "Leonardo da Vinci",
"optional": true
},
{
"name": "year",
"type": "text",
"label": "Year(s)",
"placeholder": "1503 - 1517",
"optional": true
},
{
"name": "source",
"type": "text",
"label": "Source",
"placeholder": "http://en.wikipedia.org/wiki/Mona_Lisa",
"optional": true,
"regexp": {
"pattern": "^http[s]?://.+",
"modifiers": "i"
}
},
{
"name": "license",
"type": "select",
"label": "License",
"default": "U",
"options": [
{
"value": "U",
"label": "Undisclosed"
},
{
"value": "CC BY",
"label": "Attribution",
"versions": [
{
"value": "4.0",
"label": "4.0 International"
},
{
"value": "3.0",
"label": "3.0 Unported"
},
{
"value": "2.5",
"label": "2.5 Generic"
},
{
"value": "2.0",
"label": "2.0 Generic"
},
{
"value": "1.0",
"label": "1.0 Generic"
}
]
},
{
"value": "CC BY-SA",
"label": "Attribution-ShareAlike",
"versions": [
{
"value": "4.0",
"label": "4.0 International"
},
{
"value": "3.0",
"label": "3.0 Unported"
},
{
"value": "2.5",
"label": "2.5 Generic"
},
{
"value": "2.0",
"label": "2.0 Generic"
},
{
"value": "1.0",
"label": "1.0 Generic"
}
]
},
{
"value": "CC BY-ND",
"label": "Attribution-NoDerivs",
"versions": [
{
"value": "4.0",
"label": "4.0 International"
},
{
"value": "3.0",
"label": "3.0 Unported"
},
{
"value": "2.5",
"label": "2.5 Generic"
},
{
"value": "2.0",
"label": "2.0 Generic"
},
{
"value": "1.0",
"label": "1.0 Generic"
}
]
},
{
"value": "CC BY-NC",
"label": "Attribution-NonCommercial",
"versions": [
{
"value": "4.0",
"label": "4.0 International"
},
{
"value": "3.0",
"label": "3.0 Unported"
},
{
"value": "2.5",
"label": "2.5 Generic"
},
{
"value": "2.0",
"label": "2.0 Generic"
},
{
"value": "1.0",
"label": "1.0 Generic"
}
]
},
{
"value": "CC BY-NC-SA",
"label": "Attribution-NonCommercial-ShareAlike",
"versions": [
{
"value": "4.0",
"label": "4.0 International"
},
{
"value": "3.0",
"label": "3.0 Unported"
},
{
"value": "2.5",
"label": "2.5 Generic"
},
{
"value": "2.0",
"label": "2.0 Generic"
},
{
"value": "1.0",
"label": "1.0 Generic"
}
]
},
{
"value": "CC BY-NC-ND",
"label": "Attribution-NonCommercial-NoDerivs",
"versions": [
{
"value": "4.0",
"label": "4.0 International"
},
{
"value": "3.0",
"label": "3.0 Unported"
},
{
"value": "2.5",
"label": "2.5 Generic"
},
{
"value": "2.0",
"label": "2.0 Generic"
},
{
"value": "1.0",
"label": "1.0 Generic"
}
]
},
{
"value": "GNU GPL",
"label": "General Public License",
"versions": [
{
"value": "v3",
"label": "Version 3"
},
{
"value": "v2",
"label": "Version 2"
},
{
"value": "v1",
"label": "Version 1"
}
]
},
{
"value": "PD",
"label": "Public Domain",
"versions": [
{
"value": "-",
"label": "-"
},
{
"value": "CC0 1.0",
"label": "CC0 1.0 Universal"
},
{
"value": "CC PDM",
"label": "Public Domain Mark"
}
]
},
{
"value": "C",
"label": "Copyright"
}
]
},
{
"name": "version",
"type": "select",
"label": "License Version",
"options": []
}
]
},
"metadataSemantics": [
{
"name": "title",
"type": "text",
"label": "Title",
"placeholder": "La Gioconda"
},
{
"name": "license",
"type": "select",
"label": "License",
"default": "U",
"options": [
{
"value": "U",
"label": "Undisclosed"
},
{
"type": "optgroup",
"label": "Creative Commons",
"options": [
{
"value": "CC BY",
"label": "Attribution (CC BY)",
"versions": [
{
"value": "4.0",
"label": "4.0 International"
},
{
"value": "3.0",
"label": "3.0 Unported"
},
{
"value": "2.5",
"label": "2.5 Generic"
},
{
"value": "2.0",
"label": "2.0 Generic"
},
{
"value": "1.0",
"label": "1.0 Generic"
}
]
},
{
"value": "CC BY-SA",
"label": "Attribution-ShareAlike (CC BY-SA)",
"versions": [
{
"value": "4.0",
"label": "4.0 International"
},
{
"value": "3.0",
"label": "3.0 Unported"
},
{
"value": "2.5",
"label": "2.5 Generic"
},
{
"value": "2.0",
"label": "2.0 Generic"
},
{
"value": "1.0",
"label": "1.0 Generic"
}
]
},
{
"value": "CC BY-ND",
"label": "Attribution-NoDerivs (CC BY-ND)",
"versions": [
{
"value": "4.0",
"label": "4.0 International"
},
{
"value": "3.0",
"label": "3.0 Unported"
},
{
"value": "2.5",
"label": "2.5 Generic"
},
{
"value": "2.0",
"label": "2.0 Generic"
},
{
"value": "1.0",
"label": "1.0 Generic"
}
]
},
{
"value": "CC BY-NC",
"label": "Attribution-NonCommercial (CC BY-NC)",
"versions": [
{
"value": "4.0",
"label": "4.0 International"
},
{
"value": "3.0",
"label": "3.0 Unported"
},
{
"value": "2.5",
"label": "2.5 Generic"
},
{
"value": "2.0",
"label": "2.0 Generic"
},
{
"value": "1.0",
"label": "1.0 Generic"
}
]
},
{
"value": "CC BY-NC-SA",
"label": "Attribution-NonCommercial-ShareAlike (CC BY-NC-SA)",
"versions": [
{
"value": "4.0",
"label": "4.0 International"
},
{
"value": "3.0",
"label": "3.0 Unported"
},
{
"value": "2.5",
"label": "2.5 Generic"
},
{
"value": "2.0",
"label": "2.0 Generic"
},
{
"value": "1.0",
"label": "1.0 Generic"
}
]
},
{
"value": "CC BY-NC-ND",
"label": "Attribution-NonCommercial-NoDerivs (CC BY-NC-ND)",
"versions": [
{
"value": "4.0",
"label": "4.0 International"
},
{
"value": "3.0",
"label": "3.0 Unported"
},
{
"value": "2.5",
"label": "2.5 Generic"
},
{
"value": "2.0",
"label": "2.0 Generic"
},
{
"value": "1.0",
"label": "1.0 Generic"
}
]
},
{
"value": "CC0 1.0",
"label": "Public Domain Dedication (CC0)"
},
{
"value": "CC PDM",
"label": "Public Domain Mark (PDM)"
}
]
},
{
"value": "GNU GPL",
"label": "General Public License v3"
},
{
"value": "PD",
"label": "Public Domain"
},
{
"value": "ODC PDDL",
"label": "Public Domain Dedication and Licence"
},
{
"value": "C",
"label": "Copyright"
}
]
},
{
"name": "licenseVersion",
"type": "select",
"label": "License Version",
"options": [
{
"value": "4.0",
"label": "4.0 International"
},
{
"value": "3.0",
"label": "3.0 Unported"
},
{
"value": "2.5",
"label": "2.5 Generic"
},
{
"value": "2.0",
"label": "2.0 Generic"
},
{
"value": "1.0",
"label": "1.0 Generic"
}
],
"optional": true
},
{
"name": "yearFrom",
"type": "number",
"label": "Years (from)",
"placeholder": "1991",
"min": "-9999",
"max": "9999",
"optional": true
},
{
"name": "yearTo",
"type": "number",
"label": "Years (to)",
"placeholder": "1992",
"min": "-9999",
"max": "9999",
"optional": true
},
{
"name": "source",
"type": "text",
"label": "Source",
"placeholder": "https://",
"optional": true
},
{
"name": "authors",
"type": "list",
"field": {
"name": "author",
"type": "group",
"fields": [
{
"label": "Author's name",
"name": "name",
"optional": true,
"type": "text"
},
{
"name": "role",
"type": "select",
"label": "Author's role",
"default": "Author",
"options": [
{
"value": "Author",
"label": "Author"
},
{
"value": "Editor",
"label": "Editor"
},
{
"value": "Licensee",
"label": "Licensee"
},
{
"value": "Originator",
"label": "Originator"
}
]
}
]
}
},
{
"name": "licenseExtras",
"type": "text",
"widget": "textarea",
"label": "License Extras",
"optional": true,
"description": "Any additional information about the license"
},
{
"name": "changes",
"type": "list",
"field": {
"name": "change",
"type": "group",
"label": "Changelog",
"fields": [
{
"name": "date",
"type": "text",
"label": "Date",
"optional": true
},
{
"name": "author",
"type": "text",
"label": "Changed by",
"optional": true
},
{
"name": "log",
"type": "text",
"widget": "textarea",
"label": "Description of change",
"placeholder": "Photo cropped, text changed, etc.",
"optional": true
}
]
}
},
{
"name": "authorComments",
"type": "text",
"widget": "textarea",
"label": "Author comments",
"description": "Comments for the editor of the content (This text will not be published as a part of copyright info)",
"optional": true
},
{
"name": "contentType",
"type": "text",
"widget": "none"
},
{
"name": "defaultLanguage",
"type": "text",
"widget": "none"
}
],
"assets": {
"css": [
"https://dev.currikistudio.org/api/storage/h5p/laravel-h5p/css/laravel-h5p.css",
"https://dev.currikistudio.org/api/storage/h5p/h5p-core/styles/h5p.css",
"https://dev.currikistudio.org/api/storage/h5p/h5p-core/styles/h5p-confirmation-dialog.css",
"https://dev.currikistudio.org/api/storage/h5p/h5p-core/styles/h5p-core-button.css",
"https://dev.currikistudio.org/api/storage/h5p/h5p-editor/libs/darkroom.css",
"https://dev.currikistudio.org/api/storage/h5p/h5p-editor/styles/css/h5p-hub-client.css",
"https://dev.currikistudio.org/api/storage/h5p/h5p-editor/styles/css/fonts.css",
"https://dev.currikistudio.org/api/storage/h5p/h5p-editor/styles/css/application.css",
"https://dev.currikistudio.org/api/storage/h5p/h5p-editor/styles/css/libs/zebra_datepicker.min.css"
],
"js": [
"https://dev.currikistudio.org/api/storage/h5p/h5p-core/js/jquery.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-core/js/h5p.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-core/js/h5p-event-dispatcher.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-core/js/h5p-x-api-event.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-core/js/h5p-x-api.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-core/js/h5p-content-type.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-core/js/h5p-confirmation-dialog.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-core/js/h5p-action-bar.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-core/js/request-queue.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-editor.js",
"https://dev.currikistudio.org/api/storage/h5p/laravel-h5p/js/laravel-h5p.js",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-help-dialog.js?ver=1.3.9",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-message-dialog.js?ver=1.3.9",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-progress-circle.js?ver=1.3.9",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-simple-rounded-button.js?ver=1.3.9",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-speech-bubble.js?ver=1.3.9",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-throbber.js?ver=1.3.9",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-tip.js?ver=1.3.9",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-slider.js?ver=1.3.9",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-score-bar.js?ver=1.3.9",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-progressbar.js?ver=1.3.9",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-ui.js?ver=1.3.9",
"https://dev.currikistudio.org/api/storage/h5p/laravel-h5p/js/laravel-h5p-editor.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5p-hub-client.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-semantic-structure.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-library-selector.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-fullscreen-bar.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-form.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-text.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-html.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-number.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-textarea.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-file-uploader.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-file.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-image.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-image-popup.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-av.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-group.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-boolean.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-list.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-list-editor.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-library.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-library-list-cache.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-select.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-selector-hub.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-selector-legacy.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-dimensions.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-coordinates.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-none.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-metadata.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-metadata-author-widget.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-metadata-changelog-widget.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-pre-save.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-editor/ckeditor/ckeditor.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-editor/language/en.js"
]
},
"deleteMessage": "laravel-h5p.content.destoryed",
"apiVersion": {
"majorVersion": 1,
"minorVersion": 24
}
},
"loadedJs": [],
"loadedCss": [],
"core": {
"styles": [
"https://dev.currikistudio.org/api/storage/h5p/laravel-h5p/css/laravel-h5p.css",
"https://dev.currikistudio.org/api/storage/h5p/h5p-core/styles/h5p.css",
"https://dev.currikistudio.org/api/storage/h5p/h5p-core/styles/h5p-confirmation-dialog.css",
"https://dev.currikistudio.org/api/storage/h5p/h5p-core/styles/h5p-core-button.css"
],
"scripts": [
"https://dev.currikistudio.org/api/storage/h5p/h5p-core/js/jquery.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-core/js/h5p.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-core/js/h5p-event-dispatcher.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-core/js/h5p-x-api-event.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-core/js/h5p-x-api.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-core/js/h5p-content-type.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-core/js/h5p-confirmation-dialog.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-core/js/h5p-action-bar.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-core/js/request-queue.js",
"https://dev.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-editor.js",
"https://dev.currikistudio.org/api/storage/h5p/laravel-h5p/js/laravel-h5p.js",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-help-dialog.js?ver=1.3.9",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-message-dialog.js?ver=1.3.9",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-progress-circle.js?ver=1.3.9",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-simple-rounded-button.js?ver=1.3.9",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-speech-bubble.js?ver=1.3.9",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-throbber.js?ver=1.3.9",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-tip.js?ver=1.3.9",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-slider.js?ver=1.3.9",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-score-bar.js?ver=1.3.9",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-progressbar.js?ver=1.3.9",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-ui.js?ver=1.3.9"
]
},
"contents": {
"cid-54241": {
"library": "H5P.QuestionSet 1.17",
"jsonContent": "{\"introPage\":{\"showIntroPage\":false,\"startButtonText\":\"Start Quiz\",\"introduction\":\"\"},\"progressType\":\"dots\",\"passPercentage\":50,\"questions\":[{\"params\":{\"media\":{\"disableImageZooming\":false},\"answers\":[{\"correct\":true,\"tipsAndFeedback\":{\"tip\":\"\",\"chosenFeedback\":\"\",\"notChosenFeedback\":\"\"},\"text\":\"<div>17 Jun 2022<\\/div>\\n\"},{\"correct\":false,\"tipsAndFeedback\":{\"tip\":\"\",\"chosenFeedback\":\"\",\"notChosenFeedback\":\"\"},\"text\":\"<div>17 Jun 2023<\\/div>\\n\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"enableRetry\":true,\"enableSolutionsButton\":true,\"enableCheckButton\":true,\"type\":\"auto\",\"singlePoint\":false,\"randomAnswers\":true,\"showSolutionsRequiresInput\":true,\"confirmCheckDialog\":false,\"confirmRetryDialog\":false,\"autoCheck\":false,\"passPercentage\":100,\"showScorePoints\":true},\"UI\":{\"checkAnswerButton\":\"Check\",\"showSolutionButton\":\"Show solution\",\"tryAgainButton\":\"Retry\",\"tipsLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"tipAvailable\":\"Tip available\",\"feedbackAvailable\":\"Feedback available\",\"readFeedback\":\"Read feedback\",\"wrongAnswer\":\"Wrong answer\",\"correctAnswer\":\"Correct answer\",\"shouldCheck\":\"Should have been checked\",\"shouldNotCheck\":\"Should not have been checked\",\"noInput\":\"Please answer before viewing the solution\",\"a11yCheck\":\"Check the answers. The responses will be marked as correct, incorrect, or unanswered.\",\"a11yShowSolution\":\"Show the solution. The task will be marked with its correct solution.\",\"a11yRetry\":\"Retry the task. Reset all responses and start the task over again.\"},\"confirmCheck\":{\"header\":\"Finish ?\",\"body\":\"Are you sure you wish to finish ?\",\"cancelLabel\":\"Cancel\",\"confirmLabel\":\"Finish\"},\"confirmRetry\":{\"header\":\"Retry ?\",\"body\":\"Are you sure you wish to retry ?\",\"cancelLabel\":\"Cancel\",\"confirmLabel\":\"Confirm\"},\"question\":\"<p>Todays' Date<\\/p>\\n\"},\"library\":\"H5P.MultiChoice 1.14\",\"metadata\":{\"contentType\":\"Multiple Choice\",\"license\":\"U\",\"title\":\"Taurus 17 Jun 2022\"},\"subContentId\":\"f7a7a7ed-e0c2-4bc5-8864-1e19a40b9677\"}],\"disableBackwardsNavigation\":false,\"randomQuestions\":false,\"endGame\":{\"showResultPage\":true,\"showSolutionButton\":true,\"showRetryButton\":true,\"noResultMessage\":\"Finished\",\"message\":\"Your result:\",\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solutionButtonText\":\"Show solution\",\"retryButtonText\":\"Retry\",\"finishButtonText\":\"Finish\",\"showAnimations\":false,\"skippable\":false,\"skipButtonText\":\"Skip video\"},\"override\":{\"checkButton\":true},\"currikisettings\":{\"disableSubmitButton\":false,\"placeholder\":false,\"currikil10n\":{\"submitAnswer\":\"Submit\",\"placeholderButton\":\"Placeholder\"}},\"texts\":{\"prevButton\":\"Previous question\",\"nextButton\":\"Next question\",\"finishButton\":\"Finish\",\"textualProgress\":\"Question: @current of @total questions\",\"jumpToQuestion\":\"Question %d of %total\",\"questionLabel\":\"Question\",\"readSpeakerProgress\":\"Question @current of @total\",\"unansweredText\":\"Unanswered\",\"answeredText\":\"Answered\",\"currentQuestionText\":\"Current question\"}}",
"fullScreen": 0,
"exportUrl": "https://dev.currikistudio.org/api/api/v1/h5p/export/54241",
"embedCode": "<iframe src=\"https://dev.currikistudio.org/h5p/embed/54241\" width=\":w\" height=\":h\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"></iframe>",
"resizeCode": "<script src=\"https://dev.currikistudio.org/api/storage/h5p/h5p-core/js/h5p-resizer.js\" charset=\"UTF-8\"></script>",
"url": "http://dev.currikistudio.org/h5p/embed/54241",
"title": "Taurus 17 Jun 2022",
"displayOptions": {
"frame": true,
"export": true,
"embed": true,
"copyright": false,
"icon": true,
"copy": false
},
"contentUserData": [
{
"state": "{}"
}
],
"metadata": {
"title": "Taurus 17 Jun 2022",
"license": "U"
},
"scripts": [
"https://dev.currikistudio.org/api/storage/h5p/libraries/EmbeddedJS-1.0/js/ejs_production.js?ver=1.0.4",
"https://dev.currikistudio.org/api/storage/h5p/libraries/EmbeddedJS-1.0/js/ejs_viewhelpers.js?ver=1.0.4",
"https://dev.currikistudio.org/api/storage/h5p/libraries/Tether-1.0/scripts/tether.min.js?ver=1.0.2",
"https://dev.currikistudio.org/api/storage/h5p/libraries/Drop-1.0/js/drop.min.js?ver=1.0.2",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.Transition-1.0/transition.js?ver=1.0.4",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-help-dialog.js?ver=1.3.10",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-message-dialog.js?ver=1.3.10",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-progress-circle.js?ver=1.3.10",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-simple-rounded-button.js?ver=1.3.10",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-speech-bubble.js?ver=1.3.10",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-throbber.js?ver=1.3.10",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-tip.js?ver=1.3.10",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-slider.js?ver=1.3.10",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-score-bar.js?ver=1.3.10",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-progressbar.js?ver=1.3.10",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-ui.js?ver=1.3.10",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.Question-1.4/scripts/question.js?ver=1.4.8",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.Question-1.4/scripts/explainer.js?ver=1.4.8",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.Question-1.4/scripts/score-points.js?ver=1.4.8",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.MultiChoice-1.14/js/multichoice.js?ver=1.14.7",
"https://dev.currikistudio.org/api/storage/h5p/libraries/flowplayer-1.0/scripts/flowplayer-3.2.12.min.js?ver=1.0.5",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.Video-1.5/scripts/youtube.js?ver=1.5.21",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.Video-1.5/scripts/panopto.js?ver=1.5.21",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.Video-1.5/scripts/html5.js?ver=1.5.21",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.Video-1.5/scripts/config.js?ver=1.5.21",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.Video-1.5/scripts/komodo.js?ver=1.5.21",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.Video-1.5/scripts/vimeo.js?ver=1.5.21",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.Video-1.5/scripts/flash.js?ver=1.5.21",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.Video-1.5/scripts/video.js?ver=1.5.21",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.Video-1.5/scripts/brightcove.js?ver=1.5.21",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.QuestionSet-1.17/js/questionset.js?ver=1.17.2"
],
"styles": [
"https://dev.currikistudio.org/api/storage/h5p/libraries/FontAwesome-4.5/h5p-font-awesome.min.css?ver=4.5.4",
"https://dev.currikistudio.org/api/storage/h5p/libraries/Tether-1.0/styles/tether.min.css?ver=1.0.2",
"https://dev.currikistudio.org/api/storage/h5p/libraries/Drop-1.0/css/drop-theme-arrows-bounce.min.css?ver=1.0.2",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.FontIcons-1.0/styles/h5p-font-icons.css?ver=1.0.6",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/css/joubel-help-dialog.css?ver=1.3.10",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/css/joubel-message-dialog.css?ver=1.3.10",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/css/joubel-progress-circle.css?ver=1.3.10",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/css/joubel-simple-rounded-button.css?ver=1.3.10",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/css/joubel-speech-bubble.css?ver=1.3.10",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/css/joubel-tip.css?ver=1.3.10",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/css/joubel-slider.css?ver=1.3.10",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/css/joubel-score-bar.css?ver=1.3.10",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/css/joubel-progressbar.css?ver=1.3.10",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/css/joubel-ui.css?ver=1.3.10",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/css/joubel-icon.css?ver=1.3.10",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.Question-1.4/styles/question.css?ver=1.4.8",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.Question-1.4/styles/explainer.css?ver=1.4.8",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.MultiChoice-1.14/css/multichoice.css?ver=1.14.7",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.Video-1.5/styles/video.css?ver=1.5.21",
"https://dev.currikistudio.org/api/storage/h5p/libraries/H5P.QuestionSet-1.17/css/questionset.css?ver=1.17.2"
]
}
}
},
"user": null,
"embed_code": "<div class=\"h5p-iframe-wrapper\"><iframe id=\"h5p-iframe-54241\" class=\"h5p-iframe\" data-content-id=\"54241\" style=\"height: 1px\" src=\"about:blank\" frameBorder=\"0\" scrolling=\"no\"></iframe></div>"
},
"created_at": "2022-06-17T00:10:25.000000Z",
"updated_at": "2022-06-17T00:10:25.000000Z"
}
}
Received response:
Request failed with error:
Get H5P Embed
Get the specified H5P embed parameters
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/h5p/embed/1" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/h5p/embed/1"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/h5p/embed/1',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"settings": {
"baseUrl": "https://www.currikistudio.org/api",
"url": "https://www.currikistudio.org/api/storage/h5p",
"postUserStatistics": true,
"ajax": {
"setFinished": "https://www.currikistudio.org/api/api/h5p/ajax/url",
"contentUserData": "https://www.currikistudio.org/api/api/h5p/ajax/content-user-data/?content_id=:contentId&data_type=:dataType&sub_content_id=:subContentId"
},
"saveFreq": false,
"siteUrl": "https://www.currikistudio.org/api",
"l10n": {
"H5P": {
"fullscreen": "Fullscreen",
"disableFullscreen": "Disable fullscreen",
"download": "Download",
"copyrights": "Rights of use",
"embed": "Embed",
"reuseDescription": "Reuse this content.",
"size": "Size",
"showAdvanced": "Show advanced",
"hideAdvanced": "Hide advanced",
"advancedHelp": "Include this script on your website if you want dynamic sizing of the embedded content:",
"copyrightInformation": "Rights of use",
"close": "Close",
"title": "Title",
"author": "Author",
"year": "Year",
"source": "Source",
"license": "License",
"thumbnail": "Thumbnail",
"noCopyrights": "No copyright information available for this content.",
"downloadDescription": "Download this content as a H5P file.",
"copyrightsDescription": "View copyright information for this content.",
"embedDescription": "View the embed code for this content.",
"h5pDescription": "Visit H5P.org to check out more cool content.",
"contentChanged": "This content has changed since you last used it.",
"startingOver": "You'll be starting over.",
"confirmDialogHeader": "Confirm action",
"confirmDialogBody": "Please confirm that you wish to proceed. This action is not reversible.",
"cancelLabel": "Cancel",
"confirmLabel": "Confirm",
"reuse": "Reuse",
"reuseContent": "Reuse Content"
}
},
"hubIsEnabled": false,
"user": {
"name": "John Doe",
"email": "john.doe@currikistudio.org"
},
"editor": {
"filesPath": "https://www.currikistudio.org/api/storage/h5p/editor",
"fileIcon": {
"path": "https://www.currikistudio.org/api/storage/h5p/h5p-editor/images/binary-file.png",
"width": 50,
"height": 50
},
"ajaxPath": "https://www.currikistudio.org/api/api/v1/h5p/ajax/",
"libraryUrl": "https://www.currikistudio.org/api/storage/h5p/h5p-editor/",
"copyrightSemantics": {
"name": "copyright",
"type": "group",
"label": "Copyright information",
"fields": [
{
"name": "title",
"type": "text",
"label": "Title",
"placeholder": "La Gioconda",
"optional": true
},
{
"name": "author",
"type": "text",
"label": "Author",
"placeholder": "Leonardo da Vinci",
"optional": true
},
{
"name": "year",
"type": "text",
"label": "Year(s)",
"placeholder": "1503 - 1517",
"optional": true
},
{
"name": "source",
"type": "text",
"label": "Source",
"placeholder": "http://en.wikipedia.org/wiki/Mona_Lisa",
"optional": true,
"regexp": {
"pattern": "^http[s]?://.+",
"modifiers": "i"
}
},
{
"name": "license",
"type": "select",
"label": "License",
"default": "U",
"options": [
{
"value": "U",
"label": "Undisclosed"
},
{
"value": "CC BY",
"label": "Attribution",
"versions": [
{
"value": "4.0",
"label": "4.0 International"
},
{
"value": "3.0",
"label": "3.0 Unported"
},
{
"value": "2.5",
"label": "2.5 Generic"
},
{
"value": "2.0",
"label": "2.0 Generic"
},
{
"value": "1.0",
"label": "1.0 Generic"
}
]
},
{
"value": "CC BY-SA",
"label": "Attribution-ShareAlike",
"versions": [
{
"value": "4.0",
"label": "4.0 International"
},
{
"value": "3.0",
"label": "3.0 Unported"
},
{
"value": "2.5",
"label": "2.5 Generic"
},
{
"value": "2.0",
"label": "2.0 Generic"
},
{
"value": "1.0",
"label": "1.0 Generic"
}
]
},
{
"value": "CC BY-ND",
"label": "Attribution-NoDerivs",
"versions": [
{
"value": "4.0",
"label": "4.0 International"
},
{
"value": "3.0",
"label": "3.0 Unported"
},
{
"value": "2.5",
"label": "2.5 Generic"
},
{
"value": "2.0",
"label": "2.0 Generic"
},
{
"value": "1.0",
"label": "1.0 Generic"
}
]
},
{
"value": "CC BY-NC",
"label": "Attribution-NonCommercial",
"versions": [
{
"value": "4.0",
"label": "4.0 International"
},
{
"value": "3.0",
"label": "3.0 Unported"
},
{
"value": "2.5",
"label": "2.5 Generic"
},
{
"value": "2.0",
"label": "2.0 Generic"
},
{
"value": "1.0",
"label": "1.0 Generic"
}
]
},
{
"value": "CC BY-NC-SA",
"label": "Attribution-NonCommercial-ShareAlike",
"versions": [
{
"value": "4.0",
"label": "4.0 International"
},
{
"value": "3.0",
"label": "3.0 Unported"
},
{
"value": "2.5",
"label": "2.5 Generic"
},
{
"value": "2.0",
"label": "2.0 Generic"
},
{
"value": "1.0",
"label": "1.0 Generic"
}
]
},
{
"value": "CC BY-NC-ND",
"label": "Attribution-NonCommercial-NoDerivs",
"versions": [
{
"value": "4.0",
"label": "4.0 International"
},
{
"value": "3.0",
"label": "3.0 Unported"
},
{
"value": "2.5",
"label": "2.5 Generic"
},
{
"value": "2.0",
"label": "2.0 Generic"
},
{
"value": "1.0",
"label": "1.0 Generic"
}
]
},
{
"value": "GNU GPL",
"label": "General Public License",
"versions": [
{
"value": "v3",
"label": "Version 3"
},
{
"value": "v2",
"label": "Version 2"
},
{
"value": "v1",
"label": "Version 1"
}
]
},
{
"value": "PD",
"label": "Public Domain",
"versions": [
{
"value": "-",
"label": "-"
},
{
"value": "CC0 1.0",
"label": "CC0 1.0 Universal"
},
{
"value": "CC PDM",
"label": "Public Domain Mark"
}
]
},
{
"value": "C",
"label": "Copyright"
}
]
},
{
"name": "version",
"type": "select",
"label": "License Version",
"options": []
}
]
},
"metadataSemantics": [
{
"name": "title",
"type": "text",
"label": "Title",
"placeholder": "La Gioconda"
},
{
"name": "license",
"type": "select",
"label": "License",
"default": "U",
"options": [
{
"value": "U",
"label": "Undisclosed"
},
{
"type": "optgroup",
"label": "Creative Commons",
"options": [
{
"value": "CC BY",
"label": "Attribution (CC BY)",
"versions": [
{
"value": "4.0",
"label": "4.0 International"
},
{
"value": "3.0",
"label": "3.0 Unported"
},
{
"value": "2.5",
"label": "2.5 Generic"
},
{
"value": "2.0",
"label": "2.0 Generic"
},
{
"value": "1.0",
"label": "1.0 Generic"
}
]
},
{
"value": "CC BY-SA",
"label": "Attribution-ShareAlike (CC BY-SA)",
"versions": [
{
"value": "4.0",
"label": "4.0 International"
},
{
"value": "3.0",
"label": "3.0 Unported"
},
{
"value": "2.5",
"label": "2.5 Generic"
},
{
"value": "2.0",
"label": "2.0 Generic"
},
{
"value": "1.0",
"label": "1.0 Generic"
}
]
},
{
"value": "CC BY-ND",
"label": "Attribution-NoDerivs (CC BY-ND)",
"versions": [
{
"value": "4.0",
"label": "4.0 International"
},
{
"value": "3.0",
"label": "3.0 Unported"
},
{
"value": "2.5",
"label": "2.5 Generic"
},
{
"value": "2.0",
"label": "2.0 Generic"
},
{
"value": "1.0",
"label": "1.0 Generic"
}
]
},
{
"value": "CC BY-NC",
"label": "Attribution-NonCommercial (CC BY-NC)",
"versions": [
{
"value": "4.0",
"label": "4.0 International"
},
{
"value": "3.0",
"label": "3.0 Unported"
},
{
"value": "2.5",
"label": "2.5 Generic"
},
{
"value": "2.0",
"label": "2.0 Generic"
},
{
"value": "1.0",
"label": "1.0 Generic"
}
]
},
{
"value": "CC BY-NC-SA",
"label": "Attribution-NonCommercial-ShareAlike (CC BY-NC-SA)",
"versions": [
{
"value": "4.0",
"label": "4.0 International"
},
{
"value": "3.0",
"label": "3.0 Unported"
},
{
"value": "2.5",
"label": "2.5 Generic"
},
{
"value": "2.0",
"label": "2.0 Generic"
},
{
"value": "1.0",
"label": "1.0 Generic"
}
]
},
{
"value": "CC BY-NC-ND",
"label": "Attribution-NonCommercial-NoDerivs (CC BY-NC-ND)",
"versions": [
{
"value": "4.0",
"label": "4.0 International"
},
{
"value": "3.0",
"label": "3.0 Unported"
},
{
"value": "2.5",
"label": "2.5 Generic"
},
{
"value": "2.0",
"label": "2.0 Generic"
},
{
"value": "1.0",
"label": "1.0 Generic"
}
]
},
{
"value": "CC0 1.0",
"label": "Public Domain Dedication (CC0)"
},
{
"value": "CC PDM",
"label": "Public Domain Mark (PDM)"
}
]
},
{
"value": "GNU GPL",
"label": "General Public License v3"
},
{
"value": "PD",
"label": "Public Domain"
},
{
"value": "ODC PDDL",
"label": "Public Domain Dedication and Licence"
},
{
"value": "C",
"label": "Copyright"
}
]
},
{
"name": "licenseVersion",
"type": "select",
"label": "License Version",
"options": [
{
"value": "4.0",
"label": "4.0 International"
},
{
"value": "3.0",
"label": "3.0 Unported"
},
{
"value": "2.5",
"label": "2.5 Generic"
},
{
"value": "2.0",
"label": "2.0 Generic"
},
{
"value": "1.0",
"label": "1.0 Generic"
}
],
"optional": true
},
{
"name": "yearFrom",
"type": "number",
"label": "Years (from)",
"placeholder": "1991",
"min": "-9999",
"max": "9999",
"optional": true
},
{
"name": "yearTo",
"type": "number",
"label": "Years (to)",
"placeholder": "1992",
"min": "-9999",
"max": "9999",
"optional": true
},
{
"name": "source",
"type": "text",
"label": "Source",
"placeholder": "https://",
"optional": true
},
{
"name": "authors",
"type": "list",
"field": {
"name": "author",
"type": "group",
"fields": [
{
"label": "Author's name",
"name": "name",
"optional": true,
"type": "text"
},
{
"name": "role",
"type": "select",
"label": "Author's role",
"default": "Author",
"options": [
{
"value": "Author",
"label": "Author"
},
{
"value": "Editor",
"label": "Editor"
},
{
"value": "Licensee",
"label": "Licensee"
},
{
"value": "Originator",
"label": "Originator"
}
]
}
]
}
},
{
"name": "licenseExtras",
"type": "text",
"widget": "textarea",
"label": "License Extras",
"optional": true,
"description": "Any additional information about the license"
},
{
"name": "changes",
"type": "list",
"field": {
"name": "change",
"type": "group",
"label": "Changelog",
"fields": [
{
"name": "date",
"type": "text",
"label": "Date",
"optional": true
},
{
"name": "author",
"type": "text",
"label": "Changed by",
"optional": true
},
{
"name": "log",
"type": "text",
"widget": "textarea",
"label": "Description of change",
"placeholder": "Photo cropped, text changed, etc.",
"optional": true
}
]
}
},
{
"name": "authorComments",
"type": "text",
"widget": "textarea",
"label": "Author comments",
"description": "Comments for the editor of the content (This text will not be published as a part of copyright info)",
"optional": true
},
{
"name": "contentType",
"type": "text",
"widget": "none"
},
{
"name": "defaultLanguage",
"type": "text",
"widget": "none"
}
],
"assets": {
"css": [
"https://www.currikistudio.org/api/storage/h5p/laravel-h5p/css/laravel-h5p.css",
"https://www.currikistudio.org/api/storage/h5p/h5p-core/styles/h5p.css",
"https://www.currikistudio.org/api/storage/h5p/h5p-core/styles/h5p-confirmation-dialog.css",
"https://www.currikistudio.org/api/storage/h5p/h5p-core/styles/h5p-core-button.css",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/libs/darkroom.css",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/styles/css/h5p-hub-client.css",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/styles/css/fonts.css",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/styles/css/application.css",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/styles/css/libs/zebra_datepicker.min.css"
],
"js": [
"https://www.currikistudio.org/api/storage/h5p/h5p-core/js/jquery.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-core/js/h5p.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-core/js/h5p-event-dispatcher.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-core/js/h5p-x-api-event.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-core/js/h5p-x-api.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-core/js/h5p-content-type.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-core/js/h5p-confirmation-dialog.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-core/js/h5p-action-bar.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-core/js/request-queue.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-editor.js",
"https://www.currikistudio.org/api/storage/h5p/laravel-h5p/js/laravel-h5p.js",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-help-dialog.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-message-dialog.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-progress-circle.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-simple-rounded-button.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-speech-bubble.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-throbber.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-tip.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-slider.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-score-bar.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-progressbar.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-ui.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/laravel-h5p/js/laravel-h5p-editor.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5p-hub-client.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-semantic-structure.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-library-selector.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-fullscreen-bar.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-form.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-text.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-html.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-number.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-textarea.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-file-uploader.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-file.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-image.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-image-popup.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-av.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-group.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-boolean.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-list.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-list-editor.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-library.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-library-list-cache.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-select.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-selector-hub.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-selector-legacy.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-dimensions.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-coordinates.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-none.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-metadata.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-metadata-author-widget.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-metadata-changelog-widget.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-pre-save.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/ckeditor/ckeditor.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/language/en.js"
]
},
"deleteMessage": "laravel-h5p.content.destoryed",
"apiVersion": {
"majorVersion": 1,
"minorVersion": 24
}
},
"loadedJs": [],
"loadedCss": [],
"core": {
"styles": [
"https://www.currikistudio.org/api/storage/h5p/laravel-h5p/css/laravel-h5p.css",
"https://www.currikistudio.org/api/storage/h5p/h5p-core/styles/h5p.css",
"https://www.currikistudio.org/api/storage/h5p/h5p-core/styles/h5p-confirmation-dialog.css",
"https://www.currikistudio.org/api/storage/h5p/h5p-core/styles/h5p-core-button.css"
],
"scripts": [
"https://www.currikistudio.org/api/storage/h5p/h5p-core/js/jquery.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-core/js/h5p.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-core/js/h5p-event-dispatcher.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-core/js/h5p-x-api-event.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-core/js/h5p-x-api.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-core/js/h5p-content-type.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-core/js/h5p-confirmation-dialog.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-core/js/h5p-action-bar.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-core/js/request-queue.js",
"https://www.currikistudio.org/api/storage/h5p/h5p-editor/scripts/h5peditor-editor.js",
"https://www.currikistudio.org/api/storage/h5p/laravel-h5p/js/laravel-h5p.js",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-help-dialog.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-message-dialog.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-progress-circle.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-simple-rounded-button.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-speech-bubble.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-throbber.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-tip.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-slider.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-score-bar.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-progressbar.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-ui.js?ver=1.3.9"
]
},
"contents": {
"cid-1021": {
"library": "H5P.InteractiveVideo 1.21",
"jsonContent": "{\"interactiveVideo\":{\"video\":{\"startScreenOptions\":{\"title\":\"Interactive Video\",\"hideStartTitle\":false},\"textTracks\":{\"videoTrack\":[{\"label\":\"Subtitles\",\"kind\":\"subtitles\",\"srcLang\":\"en\"}]},\"files\":[{\"path\":\"https://youtu.be/fcF8MxUj2Q0\",\"mime\":\"video/YouTube\",\"copyright\":{\"license\":\"U\"}}]},\"assets\":{},\"summary\":{\"task\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"df95f6d4-a3c9-4fc0-b97c-f3107649b7af\",\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"cb5b149b-fa96-498d-ab54-1f153716dc1e\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\"}},\"displayAt\":3}},\"override\":{\"autoplay\":false,\"loop\":false,\"showBookmarksmenuOnLoad\":false,\"showRewind10\":false,\"preventSkipping\":false,\"deactivateSound\":false},\"l10n\":{\"interaction\":\"Interaction\",\"play\":\"Play\",\"pause\":\"Pause\",\"mute\":\"Mute\",\"unmute\":\"Unmute\",\"quality\":\"Video Quality\",\"captions\":\"Captions\",\"close\":\"Close\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit Fullscreen\",\"summary\":\"Open summary dialog\",\"bookmarks\":\"Bookmarks\",\"endscreen\":\"Submit screen\",\"defaultAdaptivitySeekLabel\":\"Continue\",\"continueWithVideo\":\"Continue with video\",\"playbackRate\":\"Playback Rate\",\"rewind10\":\"Rewind 10 Seconds\",\"navDisabled\":\"Navigation is disabled\",\"sndDisabled\":\"Sound is disabled\",\"requiresCompletionWarning\":\"You need to answer all the questions correctly before continuing.\",\"back\":\"Back\",\"hours\":\"Hours\",\"minutes\":\"Minutes\",\"seconds\":\"Seconds\",\"currentTime\":\"Current time:\",\"totalTime\":\"Total time:\",\"singleInteractionAnnouncement\":\"Interaction appeared:\",\"multipleInteractionsAnnouncement\":\"Multiple interactions appeared.\",\"videoPausedAnnouncement\":\"Video is paused\",\"content\":\"Content\",\"answered\":\"@answered answered\",\"endcardTitle\":\"@answered Question(s) answered\",\"endcardInformation\":\"You have answered @answered questions, click below to submit your answers.\",\"endcardInformationNoAnswers\":\"You have not answered any questions.\",\"endcardInformationMustHaveAnswer\":\"You have to answer at least one question before you can submit your answers.\",\"endcardSubmitButton\":\"Submit Answers\",\"endcardSubmitMessage\":\"Your answers have been submitted!\",\"endcardTableRowAnswered\":\"Answered questions\",\"endcardTableRowScore\":\"Score\",\"endcardAnsweredScore\":\"answered\",\"endCardTableRowSummaryWithScore\":\"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\"endCardTableRowSummaryWithoutScore\":\"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\"}}",
"fullScreen": 1,
"exportUrl": "https://www.currikistudio.org/api/h5p/export/1021",
"embedCode": "<iframe src=\"https://www.currikistudio.org/h5p/embed/1021\" width=\":w\" height=\":h\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"></iframe>",
"resizeCode": "<script src=\"https://www.currikistudio.org/api/storage/h5p/h5p-core/js/h5p-resizer.js\" charset=\"UTF-8\"></script>",
"url": "https://www.currikistudio.org/api/h5p/embed/1021",
"title": "Tips and Tricks for Creating Projects in CurrikiStudio",
"displayOptions": {
"frame": false,
"export": true,
"embed": true,
"copyright": false,
"icon": true,
"copy": false
},
"contentUserData": [
{
"state": "{}"
}
],
"scripts": [
"https://www.currikistudio.org/api/storage/h5p/libraries/flowplayer-1.0/scripts/flowplayer-3.2.12.min.js?ver=1.0.5",
"https://www.currikistudio.org/api/storage/h5p/libraries/Drop-1.0/js/drop.min.js?ver=1.0.2",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.Transition-1.0/transition.js?ver=1.0.4",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-help-dialog.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-message-dialog.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-progress-circle.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-simple-rounded-button.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-speech-bubble.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-throbber.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-tip.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-slider.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-score-bar.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-progressbar.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/js/joubel-ui.js?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.Question-1.4/scripts/question.js?ver=1.4.7",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.Question-1.4/scripts/explainer.js?ver=1.4.7",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.Question-1.4/scripts/score-points.js?ver=1.4.7",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.Summary-1.10/js/stop-watch.js?ver=1.10.8",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.Summary-1.10/js/xapi-event-builder.js?ver=1.10.8",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.Summary-1.10/js/summary.js?ver=1.10.8",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.DragNDrop-1.1/drag-n-drop.js?ver=1.1.5",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.DragNResize-1.2/H5P.DragNResize.js?ver=1.2.6",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.DragNBar-1.5/scripts/drag-n-bar.js?ver=1.5.10",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.DragNBar-1.5/scripts/context-menu.js?ver=1.5.10",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.DragNBar-1.5/scripts/dialog.js?ver=1.5.10",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.DragNBar-1.5/scripts/drag-n-bar-element.js?ver=1.5.10",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.DragNBar-1.5/scripts/drag-n-bar-form-manager.js?ver=1.5.10",
"https://www.currikistudio.org/api/storage/h5p/libraries/jQuery.ui-1.10/h5p-jquery-ui.js?ver=1.10.19",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.Video-1.5/scripts/youtube.js?ver=1.5.12",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.Video-1.5/scripts/panopto.js?ver=1.5.12",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.Video-1.5/scripts/html5.js?ver=1.5.12",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.Video-1.5/scripts/flash.js?ver=1.5.12",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.Video-1.5/scripts/video.js?ver=1.5.12",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.InteractiveVideo-1.21/dist/h5p-interactive-video.js?ver=1.21.9"
],
"styles": [
"https://www.currikistudio.org/api/storage/h5p/libraries/FontAwesome-4.5/h5p-font-awesome.min.css?ver=4.5.4",
"https://www.currikistudio.org/api/storage/h5p/libraries/Drop-1.0/css/drop-theme-arrows-bounce.min.css?ver=1.0.2",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.FontIcons-1.0/styles/h5p-font-icons.css?ver=1.0.6",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/css/joubel-help-dialog.css?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/css/joubel-message-dialog.css?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/css/joubel-progress-circle.css?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/css/joubel-simple-rounded-button.css?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/css/joubel-speech-bubble.css?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/css/joubel-tip.css?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/css/joubel-slider.css?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/css/joubel-score-bar.css?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/css/joubel-progressbar.css?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/css/joubel-ui.css?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.JoubelUI-1.3/css/joubel-icon.css?ver=1.3.9",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.Question-1.4/styles/question.css?ver=1.4.7",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.Question-1.4/styles/explainer.css?ver=1.4.7",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.Summary-1.10/css/summary.css?ver=1.10.8",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.DragNResize-1.2/H5P.DragNResize.css?ver=1.2.6",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.DragNBar-1.5/styles/drag-n-bar.css?ver=1.5.10",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.DragNBar-1.5/styles/dialog.css?ver=1.5.10",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.DragNBar-1.5/styles/context-menu.css?ver=1.5.10",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.DragNBar-1.5/styles/drag-n-bar-form-manager.css?ver=1.5.10",
"https://www.currikistudio.org/api/storage/h5p/libraries/jQuery.ui-1.10/h5p-jquery-ui.css?ver=1.10.19",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.Video-1.5/styles/video.css?ver=1.5.12",
"https://www.currikistudio.org/api/storage/h5p/libraries/H5P.InteractiveVideo-1.21/dist/h5p-interactive-video.css?ver=1.21.9"
]
}
}
},
"embed_code": "<div class=\"h5p-iframe-wrapper\"><iframe id=\"h5p-iframe-1021\" class=\"h5p-iframe\" data-content-id=\"1021\" style=\"height: 1px\" src=\"about:blank\" frameBorder=\"0\" scrolling=\"no\"></iframe></div>"
}
Received response:
Request failed with error:
GET api/v1/google-classroom/h5p/ajax/content-user-data
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/google-classroom/h5p/ajax/content-user-data" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/google-classroom/h5p/ajax/content-user-data"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/google-classroom/h5p/ajax/content-user-data',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
Show headers
content-type: text/html; charset=UTF-8
cache-control: no-cache, private
Received response:
Request failed with error:
13. Search
APIs for search management
Deep Linking Search
Search projects, playlists and activities for deep linking
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/search?organization_id=1&query=test&sort=created_at&order=desc&from=0&size=10" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"searchType\": \"org_projects\",
\"query\": \"arnflzjryhqpefmvicrrleennumjprwpgbvmbpbyzhuufcyenbvceirotlsjusinkqcyyxpbgbrnlzuwlnypptviewfyvuqahendkqjmmzfomxsaejtdlkxosqtgnyyphrvhiwkjbllr\",
\"organization_id\": 5,
\"negativeQuery\": \"khthwcxhcmunscdpofiikzuugymouadrnwaikzqbvbfyztrtxfmevgyxaubiikhlremrkxoealwrorisjwsgckystujqmkxthrmlosvaqmjcbphkykqvrzaeqklrcurobfyfqivyccphocdvqioygdfur\",
\"indexing\": \"null\",
\"startDate\": \"2022-12-01T09:55:04\",
\"endDate\": \"2060-10-04\",
\"userIds\": [
12
],
\"author\": \"yuguruapgugktwalhdofkdhhuqcvaayzsczpjpxmadisdztohhnwtvoqovtlpiaqapnlgphmcjnfjhzowhdmrhqubfeymualztxswgllcdlrsgabrazapzywseaysuppcfbygje\",
\"h5pLibraries\": [
\"aut\"
],
\"subjectIds\": [
9
],
\"educationLevelIds\": [
6
],
\"authorTagsIds\": [
2
],
\"model\": \"projects\",
\"sort\": \"created_at\",
\"order\": \"desc\",
\"from\": 12,
\"size\": 1
}"
const url = new URL(
"http://localhost:8000/api/v1/search"
);
const params = {
"organization_id": "1",
"query": "test",
"sort": "created_at",
"order": "desc",
"from": "0",
"size": "10",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"searchType": "org_projects",
"query": "arnflzjryhqpefmvicrrleennumjprwpgbvmbpbyzhuufcyenbvceirotlsjusinkqcyyxpbgbrnlzuwlnypptviewfyvuqahendkqjmmzfomxsaejtdlkxosqtgnyyphrvhiwkjbllr",
"organization_id": 5,
"negativeQuery": "khthwcxhcmunscdpofiikzuugymouadrnwaikzqbvbfyztrtxfmevgyxaubiikhlremrkxoealwrorisjwsgckystujqmkxthrmlosvaqmjcbphkykqvrzaeqklrcurobfyfqivyccphocdvqioygdfur",
"indexing": "null",
"startDate": "2022-12-01T09:55:04",
"endDate": "2060-10-04",
"userIds": [
12
],
"author": "yuguruapgugktwalhdofkdhhuqcvaayzsczpjpxmadisdztohhnwtvoqovtlpiaqapnlgphmcjnfjhzowhdmrhqubfeymualztxswgllcdlrsgabrazapzywseaysuppcfbygje",
"h5pLibraries": [
"aut"
],
"subjectIds": [
9
],
"educationLevelIds": [
6
],
"authorTagsIds": [
2
],
"model": "projects",
"sort": "created_at",
"order": "desc",
"from": 12,
"size": 1
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/search',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'organization_id'=> '1',
'query'=> 'test',
'sort'=> 'created_at',
'order'=> 'desc',
'from'=> '0',
'size'=> '10',
],
'json' => [
'searchType' => 'org_projects',
'query' => 'arnflzjryhqpefmvicrrleennumjprwpgbvmbpbyzhuufcyenbvceirotlsjusinkqcyyxpbgbrnlzuwlnypptviewfyvuqahendkqjmmzfomxsaejtdlkxosqtgnyyphrvhiwkjbllr',
'organization_id' => 5,
'negativeQuery' => 'khthwcxhcmunscdpofiikzuugymouadrnwaikzqbvbfyztrtxfmevgyxaubiikhlremrkxoealwrorisjwsgckystujqmkxthrmlosvaqmjcbphkykqvrzaeqklrcurobfyfqivyccphocdvqioygdfur',
'indexing' => 'null',
'startDate' => '2022-12-01T09:55:04',
'endDate' => '2060-10-04',
'userIds' => [
12,
],
'author' => 'yuguruapgugktwalhdofkdhhuqcvaayzsczpjpxmadisdztohhnwtvoqovtlpiaqapnlgphmcjnfjhzowhdmrhqubfeymualztxswgllcdlrsgabrazapzywseaysuppcfbygje',
'h5pLibraries' => [
'aut',
],
'subjectIds' => [
9,
],
'educationLevelIds' => [
6,
],
'authorTagsIds' => [
2,
],
'model' => 'projects',
'sort' => 'created_at',
'order' => 'desc',
'from' => 12,
'size' => 1,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (400):
{
"errors": {
"query": [
"The query field is required."
]
}
}
Example response (200):
{
"projects": {
"979": {
"id": 979,
"thumb_url": "/storage/uploads/5f10830df0dcf.png",
"title": "Exploring Our National Parks",
"description": "Explore America’s national parks. Discover our most treasured places. From science to the arts, service learning to teacher training, America’s national parks teach invaluable lessons about our planet, our history, and ourselves. These incredible places, and all that they offer beyond the boundaries of the national parks, are the catalysts for inspiring a new generation of park enthusiasts. The National Park Foundation is dedicated to utilizing these powerful learning environments that can provide in-depth, real-world learning experiences, to nurture a deep connection between the next generation and America's national parks.",
"model": "Project",
"user": null,
"playlists": {
"2174": {
"id": 2174,
"thumb_url": "/storage/uploads/5f10830df0dcf.png",
"title": "Exploring Yosemite",
"model": "Playlist",
"user": null,
"activities": {
"9990": {
"id": 9990,
"thumb_url": "/storage/uploads/5f10831d961f8.jpeg",
"title": "",
"model": "Activity",
"user": null
},
"9991": {
"id": 9991,
"thumb_url": "/storage/uploads/5f108329c36e2.jpeg",
"title": "",
"model": "Activity",
"user": null
},
"9992": {
"id": 9992,
"thumb_url": "/storage/uploads/5f10833529209.jpeg",
"title": "",
"model": "Activity",
"user": null
}
}
}
}
}
}
}
Received response:
Request failed with error:
Advance search
Advance search for projects, playlists and activities having indexing approved
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/search/advanced?organization_id=1&query=test&negativeQuery=badword&userIds[]=1&startDate=2020-04-30+00%3A00%3A00&endDate=2020-04-30+23%3A59%3A59&subjectIds[]=1&educationLevelIds[]=1&authorTagsIds[]=1&h5pLibraries[]=repellat&model=activities&sort=created_at&order=desc&from=0&size=10" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"searchType\": \"lti_search\",
\"query\": \"vfzdyddipmvmyurjqeowuosrnchodhbmeywbgvwi\",
\"organization_id\": 4,
\"negativeQuery\": \"djgqogbxscjfcfzelimmlvboxxcpuawymmscjczhdymmyykqvclsvvxljoiqzlspljwvhppkqglqelaezzfevtwjqbgonmfkqegzbpdojklyeosaircacuoaaeulkinhfmfxfykizimvitntzwbnetiiglmaaowlwelpkojczzyqwtyppyefymv\",
\"indexing\": \"2\",
\"startDate\": \"2022-12-01T09:55:04\",
\"endDate\": \"2059-11-22\",
\"userIds\": [
2
],
\"author\": \"gparvcnfvubtywohwsioxmdhgwggllftzbtpzlyhadadwlfogeniuauqxcegftzstocctbehdzjyhhwadayqdwoeexygejiicbqttdvkyykrxnarqmuhvzbdkpdraeppfhpbtevcpvtbygdydymxskkmlijgqdrbthnnobrchxzlteq\",
\"h5pLibraries\": [
\"velit\"
],
\"subjectIds\": [
1
],
\"educationLevelIds\": [
2
],
\"authorTagsIds\": [
11
],
\"model\": \"activities\",
\"sort\": \"created_at\",
\"order\": \"asc\",
\"from\": 4,
\"size\": 2
}"
const url = new URL(
"http://localhost:8000/api/v1/search/advanced"
);
const params = {
"organization_id": "1",
"query": "test",
"negativeQuery": "badword",
"userIds[]": "1",
"startDate": "2020-04-30 00:00:00",
"endDate": "2020-04-30 23:59:59",
"subjectIds[]": "1",
"educationLevelIds[]": "1",
"authorTagsIds[]": "1",
"h5pLibraries[]": "repellat",
"model": "activities",
"sort": "created_at",
"order": "desc",
"from": "0",
"size": "10",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"searchType": "lti_search",
"query": "vfzdyddipmvmyurjqeowuosrnchodhbmeywbgvwi",
"organization_id": 4,
"negativeQuery": "djgqogbxscjfcfzelimmlvboxxcpuawymmscjczhdymmyykqvclsvvxljoiqzlspljwvhppkqglqelaezzfevtwjqbgonmfkqegzbpdojklyeosaircacuoaaeulkinhfmfxfykizimvitntzwbnetiiglmaaowlwelpkojczzyqwtyppyefymv",
"indexing": "2",
"startDate": "2022-12-01T09:55:04",
"endDate": "2059-11-22",
"userIds": [
2
],
"author": "gparvcnfvubtywohwsioxmdhgwggllftzbtpzlyhadadwlfogeniuauqxcegftzstocctbehdzjyhhwadayqdwoeexygejiicbqttdvkyykrxnarqmuhvzbdkpdraeppfhpbtevcpvtbygdydymxskkmlijgqdrbthnnobrchxzlteq",
"h5pLibraries": [
"velit"
],
"subjectIds": [
1
],
"educationLevelIds": [
2
],
"authorTagsIds": [
11
],
"model": "activities",
"sort": "created_at",
"order": "asc",
"from": 4,
"size": 2
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/search/advanced',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'organization_id'=> '1',
'query'=> 'test',
'negativeQuery'=> 'badword',
'userIds[]'=> '1',
'startDate'=> '2020-04-30 00:00:00',
'endDate'=> '2020-04-30 23:59:59',
'subjectIds[]'=> '1',
'educationLevelIds[]'=> '1',
'authorTagsIds[]'=> '1',
'h5pLibraries[]'=> 'repellat',
'model'=> 'activities',
'sort'=> 'created_at',
'order'=> 'desc',
'from'=> '0',
'size'=> '10',
],
'json' => [
'searchType' => 'lti_search',
'query' => 'vfzdyddipmvmyurjqeowuosrnchodhbmeywbgvwi',
'organization_id' => 4,
'negativeQuery' => 'djgqogbxscjfcfzelimmlvboxxcpuawymmscjczhdymmyykqvclsvvxljoiqzlspljwvhppkqglqelaezzfevtwjqbgonmfkqegzbpdojklyeosaircacuoaaeulkinhfmfxfykizimvitntzwbnetiiglmaaowlwelpkojczzyqwtyppyefymv',
'indexing' => '2',
'startDate' => '2022-12-01T09:55:04',
'endDate' => '2059-11-22',
'userIds' => [
2,
],
'author' => 'gparvcnfvubtywohwsioxmdhgwggllftzbtpzlyhadadwlfogeniuauqxcegftzstocctbehdzjyhhwadayqdwoeexygejiicbqttdvkyykrxnarqmuhvzbdkpdraeppfhpbtevcpvtbygdydymxskkmlijgqdrbthnnobrchxzlteq',
'h5pLibraries' => [
'velit',
],
'subjectIds' => [
1,
],
'educationLevelIds' => [
2,
],
'authorTagsIds' => [
11,
],
'model' => 'activities',
'sort' => 'created_at',
'order' => 'asc',
'from' => 4,
'size' => 2,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (400):
{
"errors": {
"userIds": [
"The user Ids must be an array."
]
}
}
Example response (200):
{
"data": [
{
"id": 9999,
"thumb_url": "/storage/uploads/5f1083871600f.png",
"title": "",
"model": "Activity",
"user": null,
"created_at": "2020-07-29T20:51:30.000000Z"
},
{
"id": 999,
"thumb_url": "/storage/uploads/5ef42a8dc4386.png",
"title": "About The National Parks",
"model": "Playlist",
"user": null,
"created_at": "2020-07-29T20:51:30.000000Z"
},
{
"id": 999,
"thumb_url": "/storage/uploads_tmp/UDixgGgVAnNYNMikT8Qic7q0WR0SSA54lOqL9u6t.png",
"title": "Algebra 1 ACPS Curriki Resources",
"description": "Algebra 1 ACPS Curriki Resources",
"favored": false,
"model": "Project",
"user": null,
"created_at": "2020-07-29T20:51:30.000000Z"
}
],
"meta": {
"activities": 1,
"playlists": 1,
"projects": 1,
"total": 3
}
}
Received response:
Request failed with error:
Dashboard search
Dashboard search for projects, playlists and activities irrespective of indexing status
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/search/dashboard?organization_id=1&query=test&negativeQuery=badword&indexing=%5B3%5D&startDate=2020-04-30+00%3A00%3A00&endDate=2020-04-30+23%3A59%3A59&subjectIds[]=1&educationLevelIds[]=1&authorTagsIds[]=1&h5pLibraries[]=pariatur&model=activities&sort=created_at&order=desc&from=0&size=10" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"searchType\": \"org_projects\",
\"query\": \"sznrgwuylscbjspwiioexbpmyzteqwsaolrqbizjgbeyquacyrahkeaghiiqeupmvivwtetzhudxprtbzuhfphavpycaslzdvfvftirhhvzgzhkinoserehsfxpzlvmbkzddazmcsrqzwpqjzdnelrtdwitaypvljgockyidyregrwkydqg\",
\"organization_id\": 15,
\"negativeQuery\": \"gvzkrsufaemgsyapixiiupwzxboaanqvghvtmwtqpbbkynsnqlhxijdoacsvjznnavyezbuiibgmvqqkbdpaqelyysslqbhubsaokvkzpkaqlasqhigmkslusrheaoypwzxqvgufdgvonivnauotwekofzbtasbubbvaskwcgzjqltfkwetbasw\",
\"indexing\": \"1\",
\"startDate\": \"2022-12-01T09:55:04\",
\"endDate\": \"2107-06-29\",
\"userIds\": [
5
],
\"author\": \"jvbbqsakpbxdvkjvjdmuuchdkkpfrmuvocxtxkofjcnwzygrclvkqhkbiicygvcsuedpkfephcybdpiyspijlhvswwlrdbajzszifmuiiljzyitwksrejtnwxgrvlilcbekzlxuoozenehcdcdddguzfkwjfdvebfdcdqgxchpdxzhbjpkpqxdgcntarp\",
\"h5pLibraries\": [
\"reprehenderit\"
],
\"subjectIds\": [
15
],
\"educationLevelIds\": [
9
],
\"authorTagsIds\": [
10
],
\"model\": \"playlists\",
\"sort\": \"created_at\",
\"order\": \"desc\",
\"from\": 12,
\"size\": 7
}"
const url = new URL(
"http://localhost:8000/api/v1/search/dashboard"
);
const params = {
"organization_id": "1",
"query": "test",
"negativeQuery": "badword",
"indexing": "[3]",
"startDate": "2020-04-30 00:00:00",
"endDate": "2020-04-30 23:59:59",
"subjectIds[]": "1",
"educationLevelIds[]": "1",
"authorTagsIds[]": "1",
"h5pLibraries[]": "pariatur",
"model": "activities",
"sort": "created_at",
"order": "desc",
"from": "0",
"size": "10",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"searchType": "org_projects",
"query": "sznrgwuylscbjspwiioexbpmyzteqwsaolrqbizjgbeyquacyrahkeaghiiqeupmvivwtetzhudxprtbzuhfphavpycaslzdvfvftirhhvzgzhkinoserehsfxpzlvmbkzddazmcsrqzwpqjzdnelrtdwitaypvljgockyidyregrwkydqg",
"organization_id": 15,
"negativeQuery": "gvzkrsufaemgsyapixiiupwzxboaanqvghvtmwtqpbbkynsnqlhxijdoacsvjznnavyezbuiibgmvqqkbdpaqelyysslqbhubsaokvkzpkaqlasqhigmkslusrheaoypwzxqvgufdgvonivnauotwekofzbtasbubbvaskwcgzjqltfkwetbasw",
"indexing": "1",
"startDate": "2022-12-01T09:55:04",
"endDate": "2107-06-29",
"userIds": [
5
],
"author": "jvbbqsakpbxdvkjvjdmuuchdkkpfrmuvocxtxkofjcnwzygrclvkqhkbiicygvcsuedpkfephcybdpiyspijlhvswwlrdbajzszifmuiiljzyitwksrejtnwxgrvlilcbekzlxuoozenehcdcdddguzfkwjfdvebfdcdqgxchpdxzhbjpkpqxdgcntarp",
"h5pLibraries": [
"reprehenderit"
],
"subjectIds": [
15
],
"educationLevelIds": [
9
],
"authorTagsIds": [
10
],
"model": "playlists",
"sort": "created_at",
"order": "desc",
"from": 12,
"size": 7
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/search/dashboard',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'organization_id'=> '1',
'query'=> 'test',
'negativeQuery'=> 'badword',
'indexing'=> '[3]',
'startDate'=> '2020-04-30 00:00:00',
'endDate'=> '2020-04-30 23:59:59',
'subjectIds[]'=> '1',
'educationLevelIds[]'=> '1',
'authorTagsIds[]'=> '1',
'h5pLibraries[]'=> 'pariatur',
'model'=> 'activities',
'sort'=> 'created_at',
'order'=> 'desc',
'from'=> '0',
'size'=> '10',
],
'json' => [
'searchType' => 'org_projects',
'query' => 'sznrgwuylscbjspwiioexbpmyzteqwsaolrqbizjgbeyquacyrahkeaghiiqeupmvivwtetzhudxprtbzuhfphavpycaslzdvfvftirhhvzgzhkinoserehsfxpzlvmbkzddazmcsrqzwpqjzdnelrtdwitaypvljgockyidyregrwkydqg',
'organization_id' => 15,
'negativeQuery' => 'gvzkrsufaemgsyapixiiupwzxboaanqvghvtmwtqpbbkynsnqlhxijdoacsvjznnavyezbuiibgmvqqkbdpaqelyysslqbhubsaokvkzpkaqlasqhigmkslusrheaoypwzxqvgufdgvonivnauotwekofzbtasbubbvaskwcgzjqltfkwetbasw',
'indexing' => '1',
'startDate' => '2022-12-01T09:55:04',
'endDate' => '2107-06-29',
'userIds' => [
5,
],
'author' => 'jvbbqsakpbxdvkjvjdmuuchdkkpfrmuvocxtxkofjcnwzygrclvkqhkbiicygvcsuedpkfephcybdpiyspijlhvswwlrdbajzszifmuiiljzyitwksrejtnwxgrvlilcbekzlxuoozenehcdcdddguzfkwjfdvebfdcdqgxchpdxzhbjpkpqxdgcntarp',
'h5pLibraries' => [
'reprehenderit',
],
'subjectIds' => [
15,
],
'educationLevelIds' => [
9,
],
'authorTagsIds' => [
10,
],
'model' => 'playlists',
'sort' => 'created_at',
'order' => 'desc',
'from' => 12,
'size' => 7,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": [
{
"id": 761,
"project_id": 68,
"playlist_id": 188,
"thumb_url": "/storage/uploads/MyIAkGC6G7IieNAfvoLR984sOKRrK2NvjZ2aXVd3.png",
"title": "Virtual Tour",
"content": "",
"model": "Activity",
"created_at": null,
"user": {
"id": 1225,
"first_name": "Demo",
"last_name": "Demo",
"email": "demo@currikistudio.org"
},
"organization": {
"id": 1,
"name": "Curriki Studio",
"description": "Curriki Studio, default organization.",
"image": "/storage/organizations/INDxHaVdBZeZp1FTmMCI3CUWU80OfykpePT7YNrf.jpg"
}
},
{
"id": 761,
"project_id": 68,
"playlist_id": 188,
"thumb_url": "/storage/uploads/MyIAkGC6G7IieNAfvoLR984sOKRrK2NvjZ2aXVd3.png",
"title": "Virtual Tour",
"content": "",
"model": "Activity",
"created_at": null,
"user": {
"id": 1225,
"first_name": "Demo",
"last_name": "Demo",
"email": "demo@currikistudio.org"
},
"organization": {
"id": 1,
"name": "Curriki Studio",
"description": "Curriki Studio, default organization.",
"image": "/storage/organizations/INDxHaVdBZeZp1FTmMCI3CUWU80OfykpePT7YNrf.jpg"
}
}
]
}
Example response (400):
{
"errors": {
"userIds": [
"The user ids must be an array."
]
}
}
Example response (200):
{
"data": [
{
"id": 9,
"thumb_url": null,
"title": "",
"model": "Activity",
"user": null,
"created_at": "2020-07-29T20:51:30.000000Z"
},
{
"id": 9,
"thumb_url": "/storage/uploads/i6kOcAFcvBGd3yabpnbUKaqUARdUQsJ8LJLzzDUW.png",
"title": "Chapter 2: What is money?",
"model": "Playlist",
"user": null,
"created_at": "2020-07-29T20:51:30.000000Z"
},
{
"id": 9,
"thumb_url": "/storage/uploads/5f4013d35ec0e.png",
"title": "Globalization, Robots and You",
"description": "You have important decisions to make about your educations and career – wouldn’t it be nice if you could better understand the forces of globalization and automation first? What information do you need to gauge salary prospects, the risk of automation, and foreign competition as you compare your options?",
"favored": false,
"model": "Project",
"user": null,
"created_at": "2020-07-29T20:51:30.000000Z"
}
],
"meta": {
"activities": 1,
"playlists": 1,
"projects": 1,
"total": 3
}
}
Received response:
Request failed with error:
Independent Activities search
Search for independent activities
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/search/independent-activities?searchType=my_activities&indexing=null&author=Abby&organization_id=1&query=test&negativeQuery=badword&userIds[]=1&startDate=2020-04-30+00%3A00%3A00&endDate=2020-04-30+23%3A59%3A59&subjectIds[]=1&educationLevelIds[]=1&authorTagsIds[]=1&h5pLibraries[]=atque&sort=created_at&order=desc&from=0&size=10" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"searchType\": \"org_activities\",
\"query\": \"gymajnhee\",
\"organization_id\": 18,
\"negativeQuery\": \"mvkvabiohscrmaqobdblbpkgnorwayvmdrlmswwukjkrmcfbkkfqxvwcaevllpqhgxkrcwbmpkzsvggtqqrikhgkqvvgpupiyiahxzwsrywpwgyhgpfftxqaugfyyfvhirnaarozzawbshodhodxnnbhufsncgtforgonrhauheajrjdnfbjnstzzevxuswgxzvvzvjcejjptiaulcsgatqkcmlhvirua\",
\"indexing\": \"1\",
\"startDate\": \"2022-12-01T09:55:04\",
\"endDate\": \"2060-09-11\",
\"userIds\": [
8
],
\"author\": \"zqjfgdpleitdsexzuyhehdigmaybnzowtsnhysnudcflvkayonkwrmrldbwivigzghqtgmauojkikzuettcyjmsutummgjanzszffdldmqljhkchbbdmxiewdlkpfxytctocdpttsoxpftlzrvbswzlgkvbgvwetptxzoefnntccr\",
\"h5pLibraries\": [
\"qui\"
],
\"subjectIds\": [
5
],
\"educationLevelIds\": [
13
],
\"authorTagsIds\": [
20
],
\"sort\": \"created_at\",
\"order\": \"desc\",
\"from\": 4,
\"size\": 15
}"
const url = new URL(
"http://localhost:8000/api/v1/search/independent-activities"
);
const params = {
"searchType": "my_activities",
"indexing": "null",
"author": "Abby",
"organization_id": "1",
"query": "test",
"negativeQuery": "badword",
"userIds[]": "1",
"startDate": "2020-04-30 00:00:00",
"endDate": "2020-04-30 23:59:59",
"subjectIds[]": "1",
"educationLevelIds[]": "1",
"authorTagsIds[]": "1",
"h5pLibraries[]": "atque",
"sort": "created_at",
"order": "desc",
"from": "0",
"size": "10",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"searchType": "org_activities",
"query": "gymajnhee",
"organization_id": 18,
"negativeQuery": "mvkvabiohscrmaqobdblbpkgnorwayvmdrlmswwukjkrmcfbkkfqxvwcaevllpqhgxkrcwbmpkzsvggtqqrikhgkqvvgpupiyiahxzwsrywpwgyhgpfftxqaugfyyfvhirnaarozzawbshodhodxnnbhufsncgtforgonrhauheajrjdnfbjnstzzevxuswgxzvvzvjcejjptiaulcsgatqkcmlhvirua",
"indexing": "1",
"startDate": "2022-12-01T09:55:04",
"endDate": "2060-09-11",
"userIds": [
8
],
"author": "zqjfgdpleitdsexzuyhehdigmaybnzowtsnhysnudcflvkayonkwrmrldbwivigzghqtgmauojkikzuettcyjmsutummgjanzszffdldmqljhkchbbdmxiewdlkpfxytctocdpttsoxpftlzrvbswzlgkvbgvwetptxzoefnntccr",
"h5pLibraries": [
"qui"
],
"subjectIds": [
5
],
"educationLevelIds": [
13
],
"authorTagsIds": [
20
],
"sort": "created_at",
"order": "desc",
"from": 4,
"size": 15
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/search/independent-activities',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'searchType'=> 'my_activities',
'indexing'=> 'null',
'author'=> 'Abby',
'organization_id'=> '1',
'query'=> 'test',
'negativeQuery'=> 'badword',
'userIds[]'=> '1',
'startDate'=> '2020-04-30 00:00:00',
'endDate'=> '2020-04-30 23:59:59',
'subjectIds[]'=> '1',
'educationLevelIds[]'=> '1',
'authorTagsIds[]'=> '1',
'h5pLibraries[]'=> 'atque',
'sort'=> 'created_at',
'order'=> 'desc',
'from'=> '0',
'size'=> '10',
],
'json' => [
'searchType' => 'org_activities',
'query' => 'gymajnhee',
'organization_id' => 18,
'negativeQuery' => 'mvkvabiohscrmaqobdblbpkgnorwayvmdrlmswwukjkrmcfbkkfqxvwcaevllpqhgxkrcwbmpkzsvggtqqrikhgkqvvgpupiyiahxzwsrywpwgyhgpfftxqaugfyyfvhirnaarozzawbshodhodxnnbhufsncgtforgonrhauheajrjdnfbjnstzzevxuswgxzvvzvjcejjptiaulcsgatqkcmlhvirua',
'indexing' => '1',
'startDate' => '2022-12-01T09:55:04',
'endDate' => '2060-09-11',
'userIds' => [
8,
],
'author' => 'zqjfgdpleitdsexzuyhehdigmaybnzowtsnhysnudcflvkayonkwrmrldbwivigzghqtgmauojkikzuettcyjmsutummgjanzszffdldmqljhkchbbdmxiewdlkpfxytctocdpttsoxpftlzrvbswzlgkvbgvwetptxzoefnntccr',
'h5pLibraries' => [
'qui',
],
'subjectIds' => [
5,
],
'educationLevelIds' => [
13,
],
'authorTagsIds' => [
20,
],
'sort' => 'created_at',
'order' => 'desc',
'from' => 4,
'size' => 15,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (400):
{
"errors": {
"userIds": [
"The user Ids must be an array."
]
}
}
Example response (200):
{
"data": [
{
"id": 1,
"thumb_url": null,
"title": "title",
"created_at": "2022-04-27 23:51:58",
"user": {
"email": "abby@curriki.org",
"first_name": "Abby",
"id": 3,
"last_name": "_"
},
"organization": {
"id": 1,
"name": "org name 1",
"description": "org description 1",
"image": "/storage/organizations/jlvKGDV1XjzIzfNrm1Py8gqgVkHpENwLoQj6OMjV.jpeg"
}
}
],
"meta": {
"total": 1
}
}
Received response:
Request failed with error:
14. CurrikiGo Outcome
APIs for generating outcomes against students' submissions.
Get Student Results Grouped Summary
Fetch LRS statements based on parameters, and generate a student result summary
Example request:
curl --request POST \
"http://localhost:8000/api/v1/outcome/summary" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"actor\": \"est\",
\"activity\": \"dolorem\"
}"
const url = new URL(
"http://localhost:8000/api/v1/outcome/summary"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"actor": "est",
"activity": "dolorem"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/outcome/summary',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'actor' => 'est',
'activity' => 'dolorem',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (404):
{
"errors": [
"No results found."
]
}
Example response (200):
{
"summary": [
[
{
"sub-content-id": "a89d2ee5-0763-4b03-8a4a-ccbda9b00c3e",
"relation-sub-content-id": "a89d2ee5-0763-4b03-8a4a-ccbda9b00c3e",
"library": "H5P.TrueFalse 1.6",
"content-type": "True/False Question",
"title": "CP - True/False question",
"content": {
"questions": "<p>Is 5 x 100 = 500?</p>\n"
},
"answer": [
{
"name": "CP - True/False question",
"score": {
"raw": 1,
"max": 1
},
"duration": "00:00",
"ending-point": "00:01",
"verb": "answered"
}
]
},
{
"sub-content-id": "3495a536-de1f-47a2-91d8-6010910b64d0",
"relation-sub-content-id": "3495a536-de1f-47a2-91d8-6010910b64d0",
"library": "H5P.MultiChoice 1.14",
"content-type": "Multiple Choice",
"title": "CP - Multiple Choice Quiz",
"content": {
"questions": "<p>Which of the following statements are correct?</p>\n"
},
"answer": [
{
"name": "CP - Multiple Choice Quiz",
"score": {
"raw": 2,
"max": 2
},
"duration": "00:04",
"ending-point": "00:01",
"verb": "answered"
}
]
},
{
"sub-content-id": "6e7df1b6-3b10-44f0-adc8-d6cc58e59c5b",
"relation-sub-content-id": "6e7df1b6-3b10-44f0-adc8-d6cc58e59c5b",
"library": "H5P.SingleChoiceSet 1.11",
"content-type": "Single Choice Set",
"title": "CP - Single Choice Set",
"content": {
"children": [
{
"sub-content-id": "e6c0a1a4-b38e-4672-aadc-2aa4bee0d459",
"relation-sub-content-id": "6e7df1b6-3b10-44f0-adc8-d6cc58e59c5b|e6c0a1a4-b38e-4672-aadc-2aa4bee0d459",
"question": "<p>2 + 2 = ?</p>\n",
"answers": [
"<p>4</p>\n",
"<p>10</p>\n",
"<p>22</p>\n"
]
},
{
"sub-content-id": "4e60ed79-c713-4c21-8903-a5e6f2b80a59",
"relation-sub-content-id": "6e7df1b6-3b10-44f0-adc8-d6cc58e59c5b|4e60ed79-c713-4c21-8903-a5e6f2b80a59",
"question": "<p>5 x 10 = ?</p>\n",
"answers": [
"<p>50</p>\n",
"<p>510</p>\n",
"<p>15</p>\n"
]
}
]
},
"answer": [
{
"name": "CP - Single Choice Set",
"score": {
"raw": 2,
"max": 2
},
"duration": "00:09",
"ending-point": "00:01",
"verb": "answered"
}
]
}
],
[
{
"sub-content-id": "e5229334-ca8b-4807-bf13-0002e9cba0fa",
"relation-sub-content-id": "e5229334-ca8b-4807-bf13-0002e9cba0fa",
"library": "H5P.Blanks 1.12",
"content-type": "Fill in the Blanks",
"title": "IB > CP > Fill in the Blanks",
"content": {
"text": "<p>CP - Fill in the missing words #1</p>\n",
"questions": [
"<p>New Dehli is the capitol of *India*</p>\n",
"<p>H5P content may be edited using a *browser/web-browser:Something you use every day*.</p>\n"
]
},
"answer": [
{
"name": "IB > CP > Fill in the Blanks",
"score": {
"raw": 2,
"max": 2
},
"duration": "00:14",
"ending-point": "00:02",
"verb": "answered"
}
]
},
{
"sub-content-id": "d5eb9385-5418-41ed-96a0-0309ca11d99e",
"relation-sub-content-id": "d5eb9385-5418-41ed-96a0-0309ca11d99e",
"library": "H5P.DragQuestion 1.13",
"content-type": "Drag and Drop",
"title": "CP - Drag and Drop",
"content": [],
"answer": [
{
"name": "CP - Drag and Drop",
"score": {
"raw": 2,
"max": 2
},
"duration": "00:07",
"ending-point": "00:02",
"verb": "answered"
}
]
},
{
"sub-content-id": "d8c0aa84-95e5-48b0-96b5-707948f0e14f",
"relation-sub-content-id": "d8c0aa84-95e5-48b0-96b5-707948f0e14f",
"library": "H5P.MarkTheWords 1.9",
"content-type": "Mark the Words",
"title": "CP - Mark the Words",
"content": {
"description": "<p>Mark the articles in the sentences below:</p>\n",
"text": "<p>*The* correct words are marked like this: correctword, *an* asterisk is written like this **. </p>\n"
},
"answer": [
{
"name": "CP - Mark the Words",
"score": {
"raw": 2,
"max": 2
},
"duration": "00:04",
"ending-point": "00:02",
"verb": "answered"
}
]
}
],
[
{
"sub-content-id": "86111a02-4be4-4acf-9037-25165975f59b",
"relation-sub-content-id": "86111a02-4be4-4acf-9037-25165975f59b",
"library": "H5P.DragText 1.8",
"content-type": "Drag Text",
"title": "CP - Drag Text",
"content": {
"description": "Drag the words into the correct boxes"
},
"answer": [
{
"name": "CP - Drag Text",
"score": {
"raw": 2,
"max": 2
},
"duration": "01:37",
"ending-point": "00:03",
"verb": "answered"
}
]
},
{
"sub-content-id": "bf355dbb-8ec7-460b-aefd-439ca4319719",
"relation-sub-content-id": "bf355dbb-8ec7-460b-aefd-439ca4319719",
"library": "H5P.Summary 1.10",
"content-type": "Summary",
"title": "CP - Summary",
"content": {
"title": "Choose the correct statement.",
"children": [
{
"sub-content-id": "6e003430-0edc-4a54-b8f9-e124b119a92a",
"relation-sub-content-id": "bf355dbb-8ec7-460b-aefd-439ca4319719|6e003430-0edc-4a54-b8f9-e124b119a92a",
"question": [
"<p>5 x 5 = 25</p>\n",
"<p>5 x 20 = 80</p>\n"
]
}
]
},
"answer": [
{
"name": "CP - Summary",
"score": {
"raw": 1,
"max": 1
},
"duration": "01:01:57",
"ending-point": "00:03",
"verb": "answered"
}
]
}
],
[
{
"sub-content-id": "4d49d34d-d4f3-4710-8842-a882f837d6dd",
"relation-sub-content-id": "4d49d34d-d4f3-4710-8842-a882f837d6dd",
"library": "H5P.AdvancedText 1.1",
"content-type": "Text",
"title": "CP Text",
"content": []
},
{
"sub-content-id": "0dee6a0a-36aa-445c-a362-8a5c9c9d7791",
"relation-sub-content-id": "0dee6a0a-36aa-445c-a362-8a5c9c9d7791",
"library": "H5P.Link 1.3",
"content-type": "Link",
"title": "Link",
"content": {
"title": "Link to google"
}
},
{
"sub-content-id": "c6ef9040-4cad-49f6-a359-4ac7f18a49cd",
"relation-sub-content-id": "c6ef9040-4cad-49f6-a359-4ac7f18a49cd",
"library": "H5P.Image 1.1",
"content-type": "Image",
"title": "CP Image",
"content": []
},
{
"sub-content-id": "06f169ef-2de1-4f3e-b6fd-ed20837cd3c6",
"relation-sub-content-id": "06f169ef-2de1-4f3e-b6fd-ed20837cd3c6",
"library": "H5P.Shape 1.0",
"content-type": "Shapes",
"title": "Rectangle Shapes",
"content": []
},
{
"sub-content-id": "cf3cef4e-5d9d-473d-b72c-091f6a00bb7d",
"relation-sub-content-id": "cf3cef4e-5d9d-473d-b72c-091f6a00bb7d",
"library": "H5P.Video 1.5",
"content-type": "Video",
"title": "CP > Video",
"content": []
},
{
"sub-content-id": "96a735b1-8220-441f-9195-c0dc8536955b",
"relation-sub-content-id": "96a735b1-8220-441f-9195-c0dc8536955b",
"library": "H5P.Audio 1.4",
"content-type": "Audio",
"title": "CP > Test Audio",
"content": []
}
],
[
{
"sub-content-id": "a9d77f51-1e94-4be0-bf14-defc7de2b93b",
"relation-sub-content-id": "a9d77f51-1e94-4be0-bf14-defc7de2b93b",
"library": "H5P.Dialogcards 1.8",
"content-type": "Dialog Cards",
"title": "CP - Dialog Cards",
"content": {
"title": "<p>CP - Dialog Cards</p>\n"
}
},
{
"sub-content-id": "5fffdfcd-3794-45f4-a0e5-49e8fc55dae8",
"relation-sub-content-id": "5fffdfcd-3794-45f4-a0e5-49e8fc55dae8",
"library": "H5P.TwitterUserFeed 1.0",
"content-type": "Twitter User Feed",
"title": "Twitter User Feed",
"content": []
},
{
"sub-content-id": "17ba5347-61df-4151-a833-8cf9d0718c07",
"relation-sub-content-id": "17ba5347-61df-4151-a833-8cf9d0718c07",
"library": "H5P.Table 1.1",
"content-type": "Table",
"title": "CP Table",
"content": []
},
{
"sub-content-id": "2932aab9-ce54-4be2-a1b7-9257483829f1",
"relation-sub-content-id": "2932aab9-ce54-4be2-a1b7-9257483829f1",
"library": "H5P.ExportableTextArea 1.3",
"content-type": "Exportable Text Area",
"title": "CP Exportable Text Area",
"content": []
}
],
[
{
"sub-content-id": "495b1089-b7d1-47fd-ae2d-9b55273780c9",
"relation-sub-content-id": "495b1089-b7d1-47fd-ae2d-9b55273780c9",
"library": "H5P.ContinuousText 1.2",
"content-type": "Continuous Text",
"title": "CP > Continuous Text",
"content": []
}
],
[
{
"sub-content-id": "02b3bee1-61c4-496a-9b6b-3d4ae1f43f4e",
"relation-sub-content-id": "02b3bee1-61c4-496a-9b6b-3d4ae1f43f4e",
"library": "H5P.InteractiveVideo 1.22",
"content-type": "Interactive Video",
"title": "CP - Interactive Video",
"content": [
{
"sub-content-id": "6824967c-9282-4d12-bcc5-ad0bced64d2f",
"relation-sub-content-id": "02b3bee1-61c4-496a-9b6b-3d4ae1f43f4e|6824967c-9282-4d12-bcc5-ad0bced64d2f",
"library": "H5P.TrueFalse 1.6",
"content-type": "True/False Question",
"title": "CP > IV> True/False question",
"content": {
"questions": "<p>Is 5 x 100 = 500?</p>\n"
},
"answer": [
{
"name": "CP > IV> True/False question",
"score": {
"raw": 1,
"max": 1
},
"duration": "00:02",
"ending-point": "00:00",
"verb": "answered"
}
]
},
{
"sub-content-id": "88c60326-825c-4992-80da-b86af8e997a1",
"relation-sub-content-id": "02b3bee1-61c4-496a-9b6b-3d4ae1f43f4e|88c60326-825c-4992-80da-b86af8e997a1",
"library": "H5P.MultiChoice 1.14",
"content-type": "Multiple Choice",
"title": "CP > IV > Multiple Choice Quiz",
"content": {
"questions": "<p>Which of the following statements are correct?</p>\n"
},
"answer": [
{
"name": "CP > IV > Multiple Choice Quiz",
"score": {
"raw": 0,
"max": 2
},
"duration": "00:03",
"ending-point": "00:05",
"verb": "answered"
}
]
},
{
"sub-content-id": "4961cd7d-03ef-4dd6-8b8f-59b908e70b8a",
"relation-sub-content-id": "02b3bee1-61c4-496a-9b6b-3d4ae1f43f4e|4961cd7d-03ef-4dd6-8b8f-59b908e70b8a",
"library": "H5P.SingleChoiceSet 1.11",
"content-type": "Single Choice Set",
"title": "CP > IV > Single Choice Set",
"content": {
"children": [
{
"sub-content-id": "e6c0a1a4-b38e-4672-aadc-2aa4bee0d459",
"relation-sub-content-id": "4961cd7d-03ef-4dd6-8b8f-59b908e70b8a|e6c0a1a4-b38e-4672-aadc-2aa4bee0d459",
"question": "<p>2 + 2 = ?</p>\n",
"answers": [
"<p>4</p>\n",
"<p>10</p>\n",
"<p>22</p>\n"
]
},
{
"sub-content-id": "4e60ed79-c713-4c21-8903-a5e6f2b80a59",
"relation-sub-content-id": "4961cd7d-03ef-4dd6-8b8f-59b908e70b8a|4e60ed79-c713-4c21-8903-a5e6f2b80a59",
"question": "<p>5 x 10 = ?</p>\n",
"answers": [
"<p>50</p>\n",
"<p>510</p>\n",
"<p>15</p>\n"
]
}
]
},
"answer": [
{
"name": "CP > IV > Single Choice Set",
"score": {
"raw": 2,
"max": 2
},
"duration": "00:10",
"ending-point": "00:09",
"verb": "answered"
}
]
},
{
"sub-content-id": "03b1f5f1-c70c-4ae6-9c76-8dd308800f67",
"relation-sub-content-id": "02b3bee1-61c4-496a-9b6b-3d4ae1f43f4e|03b1f5f1-c70c-4ae6-9c76-8dd308800f67",
"library": "H5P.Blanks 1.12",
"content-type": "Fill in the Blanks",
"title": "CP > IV > Fill in the Blanks",
"content": {
"text": "<p>CP > IV > Fill in the missing words #1</p>\n",
"questions": [
"<p>New Dehli is the capitol of *India*</p>\n",
"<p>H5P content may be edited using a *browser/web-browser:Something you use every day*.</p>\n"
]
},
"answer": [
{
"name": "CP > IV > Fill in the Blanks",
"score": {
"raw": 2,
"max": 2
},
"duration": "00:06",
"ending-point": "00:18",
"verb": "answered"
}
]
},
{
"sub-content-id": "f5ee0f8d-f235-4c2b-ae57-97853b1496ae",
"relation-sub-content-id": "02b3bee1-61c4-496a-9b6b-3d4ae1f43f4e|f5ee0f8d-f235-4c2b-ae57-97853b1496ae",
"library": "H5P.DragQuestion 1.13",
"content-type": "Drag and Drop",
"title": "CP > IV > Drag and Drop",
"content": [],
"answer": [
{
"name": "CP > IV > Drag and Drop",
"score": {
"raw": 2,
"max": 2
},
"duration": "00:03",
"ending-point": "00:20",
"verb": "answered"
}
]
},
{
"sub-content-id": "7b5ae8d2-84e9-47d5-b147-daa1c26e499a",
"relation-sub-content-id": "02b3bee1-61c4-496a-9b6b-3d4ae1f43f4e|7b5ae8d2-84e9-47d5-b147-daa1c26e499a",
"library": "H5P.MarkTheWords 1.9",
"content-type": "Mark the Words",
"title": "CP > IV > Mark the Words",
"content": {
"description": "<p>Mark the articles in the sentences below:</p>\n",
"text": "<p>*The* correct words are marked like this: correctword, *an* asterisk is written like this **. </p>\n"
},
"answer": [
{
"name": "CP > IV > Mark the Words",
"score": {
"raw": 2,
"max": 2
},
"duration": "00:04",
"ending-point": "00:23",
"verb": "answered"
}
]
},
{
"sub-content-id": "55a4933b-d2fb-4c77-bfb3-1eab67b0ad14",
"relation-sub-content-id": "02b3bee1-61c4-496a-9b6b-3d4ae1f43f4e|55a4933b-d2fb-4c77-bfb3-1eab67b0ad14",
"library": "H5P.DragText 1.8",
"content-type": "Drag Text",
"title": "CP > IV > Drag Text",
"content": {
"description": "Drag the words into the correct boxes"
},
"answer": [
{
"name": "CP > IV > Drag Text",
"score": {
"raw": 2,
"max": 2
},
"duration": "01:05",
"ending-point": "00:26",
"verb": "answered"
}
]
},
{
"sub-content-id": "f6839abe-d5d1-41cb-85a4-c19c49a4583e",
"relation-sub-content-id": "02b3bee1-61c4-496a-9b6b-3d4ae1f43f4e|f6839abe-d5d1-41cb-85a4-c19c49a4583e",
"library": "H5P.Summary 1.10",
"content-type": "Summary",
"title": "IB > IV > Summary",
"content": {
"title": "Choose the correct statement.",
"children": [
{
"sub-content-id": "8146ae19-549a-4f79-8165-30573f8f8769",
"relation-sub-content-id": "f6839abe-d5d1-41cb-85a4-c19c49a4583e|8146ae19-549a-4f79-8165-30573f8f8769",
"question": [
"<p>8+9 = 17</p>\n",
"<p>10 x 2 = 12</p>\n",
"<p>13 x 13 = 149</p>\n"
]
},
{
"sub-content-id": "6afe0b3b-9af7-41ab-8506-017ae8b89375",
"relation-sub-content-id": "f6839abe-d5d1-41cb-85a4-c19c49a4583e|6afe0b3b-9af7-41ab-8506-017ae8b89375",
"question": [
"<p>4 x 2 = 8</p>\n",
"<p>5 x 6 = 31</p>\n",
"<p>10 / 2 = 4</p>\n"
]
}
]
},
"answer": [
{
"name": "IB > IV > Summary",
"score": {
"raw": 2,
"max": 2
},
"duration": "00:05",
"ending-point": "00:27",
"verb": "answered"
}
]
}
],
"answer": [
{
"name": "CP - Interactive Video",
"score": {
"raw": 13,
"max": 15
},
"duration": "01:22",
"ending-point": "00:07",
"verb": "answered"
}
]
}
]
]
}
Received response:
Request failed with error:
15. Google Classroom
APIs for Google Classroom
Save Access Token
Save GAPI access token in the database.
Example request:
curl --request POST \
"http://localhost:8000/api/v1/google-classroom/access-token" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"access_token\": \"minima\"
}"
const url = new URL(
"http://localhost:8000/api/v1/google-classroom/access-token"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"access_token": "minima"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/google-classroom/access-token',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'access_token' => 'minima',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "Access token has been saved successfully."
}
Example response (500):
{
"errors": [
"Failed to save the token."
]
}
Received response:
Request failed with error:
Get Courses
Get all existing Google Classroom Courses
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/google-classroom/courses" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/google-classroom/courses"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/google-classroom/courses',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (500):
{
"errors": [
"Service exception error"
]
}
Example response (200):
{
"courses": [
{
"id": "1",
"name": "How to build a playlist in CurrikiStudio"
},
{
"id": "2",
"name": "Partner Content Projects"
},
{
"id": "3",
"name": "Our Great BIg Back Yard"
},
{
"id": "4",
"name": "Alice in Wonderland"
}
]
}
Received response:
Request failed with error:
Copy project to Google Classroom
Copy whole project to google classroom either as a new course or into an existing course.
Example request:
curl --request POST \
"http://localhost:8000/api/v1/google-classroom/projects/3024/copy" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"course_id\": \"123\",
\"access_token\": \"123\",
\"publisher_org\": 10
}"
const url = new URL(
"http://localhost:8000/api/v1/google-classroom/projects/3024/copy"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"course_id": "123",
"access_token": "123",
"publisher_org": 10
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/google-classroom/projects/3024/copy',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'course_id' => '123',
'access_token' => '123',
'publisher_org' => 10,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (403):
{
"errors": [
"Forbidden. You are trying to share other user's project."
]
}
Example response (500):
{
"errors": [
"Failed to copy project."
]
}
Example response (200):
{
"course": {
"id": "158432479402",
"name": "Partner Content Projects",
"topics": [
{
"course_id": "158432479402",
"topic_id": "158409588847",
"name": "NBC Learn",
"course_work": [
{
"id": "158442674345",
"course_id": "158432479402",
"description": null,
"topic_id": "158409588847",
"title": "Test Activity 1 - 1",
"state": "PUBLISHED",
"work_type": "ASSIGNMENT",
"materials": [
{
"link": {
"thumbnailUrl": null,
"title": null,
"url": "https://www.currikistudio.org/shared/activity/10"
}
}
],
"max_points": null
},
{
"id": "158442674350",
"course_id": "158432479402",
"description": null,
"topic_id": "158409588847",
"title": "Test Activity 1 - 0",
"state": "PUBLISHED",
"work_type": "ASSIGNMENT",
"materials": [
{
"link": {
"thumbnailUrl": null,
"title": null,
"url": "https://www.currikistudio.org/shared/activity/9"
}
}
],
"max_points": null
}
]
},
{
"course_id": "158432479402",
"topic_id": "158410401228",
"name": "Internal",
"course_work": [
{
"id": "158443047525",
"course_id": "158432479402",
"description": null,
"topic_id": "158410401228",
"title": "Test Activity 1 - 0",
"state": "PUBLISHED",
"work_type": "ASSIGNMENT",
"materials": [
{
"link": {
"thumbnailUrl": null,
"title": null,
"url": "https://www.currikistudio.org/shared/activity/11"
}
}
],
"max_points": null
}
]
}
]
}
}
Received response:
Request failed with error:
Get Courses Topics
Get existing Google Classroom Course Topics
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/google-classroom/topics" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/google-classroom/topics"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/google-classroom/topics',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (500):
Show headers
cache-control: no-cache, private
content-type: application/json
{
"message": "Unable to read key from file file://D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\storage\\oauth-public.key",
"exception": "LogicException",
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\league\\oauth2-server\\src\\CryptKey.php",
"line": 67,
"trace": [
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\passport\\src\\PassportServiceProvider.php",
"line": 275,
"function": "__construct",
"class": "League\\OAuth2\\Server\\CryptKey",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\passport\\src\\PassportServiceProvider.php",
"line": 256,
"function": "makeCryptKey",
"class": "Laravel\\Passport\\PassportServiceProvider",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 873,
"function": "Laravel\\Passport\\{closure}",
"class": "Laravel\\Passport\\PassportServiceProvider",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 758,
"function": "build",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Application.php",
"line": 851,
"function": "resolve",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 694,
"function": "resolve",
"class": "Illuminate\\Foundation\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Application.php",
"line": 836,
"function": "make",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\passport\\src\\PassportServiceProvider.php",
"line": 304,
"function": "make",
"class": "Illuminate\\Foundation\\Application",
"type": "->"
},
{
"function": "Laravel\\Passport\\{closure}",
"class": "Laravel\\Passport\\PassportServiceProvider",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\RequestGuard.php",
"line": 58,
"function": "call_user_func"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\GuardHelpers.php",
"line": 60,
"function": "user",
"class": "Illuminate\\Auth\\RequestGuard",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\Middleware\\Authenticate.php",
"line": 63,
"function": "check",
"class": "Illuminate\\Auth\\RequestGuard",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\Middleware\\Authenticate.php",
"line": 42,
"function": "authenticate",
"class": "Illuminate\\Auth\\Middleware\\Authenticate",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Auth\\Middleware\\Authenticate",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 103,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 723,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 698,
"function": "runRouteWithinStack",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 662,
"function": "runRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 651,
"function": "dispatchToRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 167,
"function": "dispatch",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 128,
"function": "Illuminate\\Foundation\\Http\\{closure}",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull.php",
"line": 31,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TrimStrings.php",
"line": 40,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TrimStrings",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize.php",
"line": 27,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance.php",
"line": 86,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\app\\Http\\Middleware\\Cors.php",
"line": 40,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "App\\Http\\Middleware\\Cors",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\fideloper\\proxy\\src\\TrustProxies.php",
"line": 57,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Fideloper\\Proxy\\TrustProxies",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 103,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 142,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 111,
"function": "sendRequestThroughRouter",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 299,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 287,
"function": "callLaravelOrLumenRoute",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 89,
"function": "makeApiCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 45,
"function": "makeResponseCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 35,
"function": "makeResponseCallIfConditionsPass",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 222,
"function": "__invoke",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 179,
"function": "iterateThroughStrategies",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 116,
"function": "fetchResponses",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 123,
"function": "processRoute",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 80,
"function": "extractEndpointsInfoFromLaravelApp",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 56,
"function": "extractEndpointsInfoAndWriteToDisk",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Commands\\GenerateDocumentation.php",
"line": 55,
"function": "get",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 36,
"function": "handle",
"class": "Knuckles\\Scribe\\Commands\\GenerateDocumentation",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Util.php",
"line": 40,
"function": "Illuminate\\Container\\{closure}",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 93,
"function": "unwrapIfClosure",
"class": "Illuminate\\Container\\Util",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 37,
"function": "callBoundMethod",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 653,
"function": "call",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
"line": 136,
"function": "call",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Command\\Command.php",
"line": 298,
"function": "execute",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
"line": 121,
"function": "run",
"class": "Symfony\\Component\\Console\\Command\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 1040,
"function": "run",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 301,
"function": "doRunCommand",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 171,
"function": "doRun",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Application.php",
"line": 94,
"function": "run",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Console\\Kernel.php",
"line": 129,
"function": "run",
"class": "Illuminate\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\artisan",
"line": 37,
"function": "handle",
"class": "Illuminate\\Foundation\\Console\\Kernel",
"type": "->"
}
]
}
Received response:
Request failed with error:
Publish playlist To Google Classroom
To Publish playlist To Google Classroom
Example request:
curl --request POST \
"http://localhost:8000/api/v1/google-classroom/projects/3024/playlists/186/publish" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"course_id\": \"123\",
\"topic_id\": \"123\",
\"publisher_org\": 17,
\"access_token\": \"animi\"
}"
const url = new URL(
"http://localhost:8000/api/v1/google-classroom/projects/3024/playlists/186/publish"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"course_id": "123",
"topic_id": "123",
"publisher_org": 17,
"access_token": "animi"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/google-classroom/projects/3024/playlists/186/publish',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'course_id' => '123',
'topic_id' => '123',
'publisher_org' => 17,
'access_token' => 'animi',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (403):
{
"errors": [
"Forbidden. You are trying to share other user's project."
]
}
Example response (500):
{
"errors": [
"Failed to copy playlist."
]
}
Example response (200):
{
"course": {
"id": "422473650924",
"name": "Activity Sampler",
"topics": [
{
"course_id": "422473650924",
"topic_id": "422474476539",
"name": "Questions",
"course_work": [
{
"id": "422473053485",
"course_id": "422473650924",
"description": null,
"topic_id": "422474476539",
"title": "Advanced Fill In the Blank",
"state": "DRAFT",
"work_type": "ASSIGNMENT",
"materials": [
{
"link": {
"thumbnailUrl": null,
"title": null,
"url": "http://localhost:3000/gclass/launch/3/422473650924/39449/7062"
}
}
],
"max_points": 100
},
{
"id": "422474476548",
"course_id": "422473650924",
"description": null,
"topic_id": "422474476539",
"title": "Arithmetic Quiz",
"state": "DRAFT",
"work_type": "ASSIGNMENT",
"materials": [
{
"link": {
"thumbnailUrl": null,
"title": null,
"url": "http://localhost:3000/gclass/launch/3/422473650924/39450/7063"
}
}
],
"max_points": 100
},
{
"id": "422474036071",
"course_id": "422473650924",
"description": null,
"topic_id": "422474476539",
"title": "Dialog Cards",
"state": "DRAFT",
"work_type": "ASSIGNMENT",
"materials": [
{
"link": {
"thumbnailUrl": null,
"title": null,
"url": "http://localhost:3000/gclass/launch/3/422473650924/39452/7064"
}
}
],
"max_points": 100
}
]
}
]
}
}
Received response:
Request failed with error:
Publish activity To Google Classroom
To Publish activity To Google Classroom under a specific topic
Example request:
curl --request POST \
"http://localhost:8000/api/v1/google-classroom/projects/3024/playlists/186/activities/761/publish" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"course_id\": \"532068611011\",
\"topic_id\": \"532068611011\",
\"publisher_org\": 16,
\"access_token\": \"jhdfsy7dshduHHJG6\"
}"
const url = new URL(
"http://localhost:8000/api/v1/google-classroom/projects/3024/playlists/186/activities/761/publish"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"course_id": "532068611011",
"topic_id": "532068611011",
"publisher_org": 16,
"access_token": "jhdfsy7dshduHHJG6"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/google-classroom/projects/3024/playlists/186/activities/761/publish',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'course_id' => '532068611011',
'topic_id' => '532068611011',
'publisher_org' => 16,
'access_token' => 'jhdfsy7dshduHHJG6',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (403):
{
"errors": [
"Forbidden. You are trying to share other user's project."
]
}
Example response (500):
{
"errors": [
"Failed to copy playlist."
]
}
Example response (200):
{
"course": {
"id": "422473650924",
"name": "Activity Sampler",
"topics": [
{
"course_id": "422473650924",
"topic_id": "422474476539",
"name": "Questions",
"course_work": [
{
"id": "422473053485",
"course_id": "422473650924",
"description": null,
"topic_id": "422474476539",
"title": "Advanced Fill In the Blank",
"state": "DRAFT",
"work_type": "ASSIGNMENT",
"materials": [
{
"link": {
"thumbnailUrl": null,
"title": null,
"url": "http://localhost:3000/gclass/launch/3/422473650924/39449/7062"
}
}
],
"max_points": 100
},
{
"id": "422474476548",
"course_id": "422473650924",
"description": null,
"topic_id": "422474476539",
"title": "Arithmetic Quiz",
"state": "DRAFT",
"work_type": "ASSIGNMENT",
"materials": [
{
"link": {
"thumbnailUrl": null,
"title": null,
"url": "http://localhost:3000/gclass/launch/3/422473650924/39450/7063"
}
}
],
"max_points": 100
}
]
}
]
}
}
Received response:
Request failed with error:
Publish independent activity To Google Classroom
To Publish independent activity To Google Classroom under a specific class or specific classwork
Example request:
curl --request POST \
"http://localhost:8000/api/v1/google-classroom/activities/761/publish" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"course_id\": \"et\",
\"topic_id\": \"laborum\",
\"publisher_org\": 11,
\"access_token\": \"532068611011\",
\"string\": \"532103337862\"
}"
const url = new URL(
"http://localhost:8000/api/v1/google-classroom/activities/761/publish"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"course_id": "et",
"topic_id": "laborum",
"publisher_org": 11,
"access_token": "532068611011",
"string": "532103337862"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/google-classroom/activities/761/publish',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'course_id' => 'et',
'topic_id' => 'laborum',
'publisher_org' => 11,
'access_token' => '532068611011',
'string' => '532103337862',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (403):
{
"errors": [
"Forbidden. You are trying to share other user's project."
]
}
Example response (500):
{
"errors": [
"Failed to copy publish."
]
}
Example response (200):
{
"course": {
"id": "422473650924",
"name": "Activity Sampler",
"topics": [
{
"course_id": "422473650924",
"topic_id": "422474476539",
"name": "Questions",
"course_work": [
{
"id": "422473053485",
"course_id": "422473650924",
"description": null,
"topic_id": "422474476539",
"title": "Advanced Fill In the Blank",
"state": "DRAFT",
"work_type": "ASSIGNMENT",
"materials": [
{
"link": {
"thumbnailUrl": null,
"title": null,
"url": "http://localhost:3000/gclass/launch/3/422473650924/39449/7062"
}
}
],
"max_points": 100
},
{
"id": "422474476548",
"course_id": "422473650924",
"description": null,
"topic_id": "422474476539",
"title": "Arithmetic Quiz",
"state": "DRAFT",
"work_type": "ASSIGNMENT",
"materials": [
{
"link": {
"thumbnailUrl": null,
"title": null,
"url": "http://localhost:3000/gclass/launch/3/422473650924/39450/7063"
}
}
],
"max_points": 100
}
]
}
]
}
}
Received response:
Request failed with error:
TurnIn a student's submission
Identifies student's submission on a classwork assignment. Attaches a summary page link to the assignment, and turns it in.
Example request:
curl --request POST \
"http://localhost:8000/api/v1/google-classroom/turnin/11" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"access_token\": \"doloremque\",
\"course_id\": \"mollitia\"
}"
const url = new URL(
"http://localhost:8000/api/v1/google-classroom/turnin/11"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"access_token": "doloremque",
"course_id": "mollitia"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/google-classroom/turnin/11',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'access_token' => 'doloremque',
'course_id' => 'mollitia',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "The assignment has been turned in successfully."
}
Example response (500):
{
"errors": [
"Could not retrieve submission for this assignment.",
"You are not enrolled in this class."
]
}
Received response:
Request failed with error:
Verify whether Google Classroom user has access to a student's submission
If the user is a teacher, validate if he's one of the teachers in the class If the user is authenticated and is a student, validate if the submission is his.
Example request:
curl --request POST \
"http://localhost:8000/api/v1/google-classroom/validate-summary-access" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"access_token\": \"velit\",
\"course_id\": \"totam\",
\"gc_classwork_id\": \"quia\",
\"gc_submission_id\": \"voluptas\",
\"student_id\": \"at\"
}"
const url = new URL(
"http://localhost:8000/api/v1/google-classroom/validate-summary-access"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"access_token": "velit",
"course_id": "totam",
"gc_classwork_id": "quia",
"gc_submission_id": "voluptas",
"student_id": "at"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/google-classroom/validate-summary-access',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'access_token' => 'velit',
'course_id' => 'totam',
'gc_classwork_id' => 'quia',
'gc_submission_id' => 'voluptas',
'student_id' => 'at',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (404):
{
"errors": [
"Either the entity was not found or you do not have permission to view it."
]
}
Example response (200):
{
"student": {
"id": "102628873478251109814",
"email": "samstud89@gmail.com"
}
}
Received response:
Request failed with error:
Get student's submission against a classwork
Identifies student's submission on a classwork assignment.
Example request:
curl --request POST \
"http://localhost:8000/api/v1/google-classroom/classwork/14/submission" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"access_token\": \"incidunt\",
\"course_id\": \"ipsum\"
}"
const url = new URL(
"http://localhost:8000/api/v1/google-classroom/classwork/14/submission"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"access_token": "incidunt",
"course_id": "ipsum"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/google-classroom/classwork/14/submission',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'access_token' => 'incidunt',
'course_id' => 'ipsum',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (500):
{
"errors": [
"You are not enrolled in this class."
]
}
Example response (500):
{
"errors": [
"Could not retrieve submission for this assignment."
]
}
Example response (200):
{
"submission": {
"id": "Cg4I4uew5KIEEKa_h6_oBQ",
"course_id": "199817397960",
"coursework_id": "199814668198",
"state": "RETURNED",
"assigned_grade": 90
}
}
Received response:
Request failed with error:
H5P Google Classroom Resource Settings For Google Classroom
Get H5P Resource Settings For Google Classroom
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/google-classroom/activities/761/h5p-resource-settings" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/google-classroom/activities/761/h5p-resource-settings"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/google-classroom/activities/761/h5p-resource-settings',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (400):
{
"errors": [
"Activity not found."
]
}
Example response (200):
{
"h5p": {
"id": 59,
"title": "Science of Golf: Why Balls Have Dimples",
"params": "{\"interactiveVideo\":{\"video\":{\"startScreenOptions\":{\"title\":\"Interactive Video\",\"hideStartTitle\":false},\"textTracks\":{\"videoTrack\":[{\"label\":\"Subtitles\",\"kind\":\"subtitles\",\"srcLang\":\"en\"}]},\"files\":[{\"path\":\"https://youtu.be/fcjaxC-e8oY\",\"mime\":\"video/YouTube\",\"copyright\":{\"license\":\"U\"},\"aspectRatio\":\"16:9\"}]},\"assets\":{\"interactions\":[{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":58.33,\"to\":68.33},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"133bca3d-cfe9-442d-a887-8bf1e2ce682a\",\"question\":\"<p>Why do golf balls have dimples?</p>\\n\",\"answers\":[\"<p>They reduce wind resistance.</p>\\n\",\"<p>They make the ball more visually interesting.</p>\\n\",\"<p>They grip the putting green better than a smooth ball.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"ac029b43-7225-49ed-a2d7-8656037748e0\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Why do golf balls have dimples?\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Why do golf balls have dimples?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Why do golf balls have dimples?</p>\\n\"},{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":132.969,\"to\":142.969},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"308503f3-8d41-4f4f-b016-587bcce3dfac\",\"question\":\"<p>A smooth ball will have a detached airflow, which causes what?</p>\\n\",\"answers\":[\"<p>A low pressure zone, which is what causes drag.</p>\\n\",\"<p>The ball has no spin.</p>\\n\",\"<p>The ball travels higher, but for a shorter distance.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"f70c849d-9542-4f30-9116-8b60b7da708d\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Smooth Ball?\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Smooth Ball?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Smooth Ball</p>\\n\"}],\"bookmarks\":[],\"endscreens\":[{\"time\":295,\"label\":\"4:55 Submit screen\"}]},\"summary\":{\"task\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"8e2cf84f-4557-4f79-a03e-526838498a7d\",\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"8d5527ef-3601-4ad9-9e63-2782c9775173\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Untitled Summary\"}},\"displayAt\":3}},\"override\":{\"autoplay\":false,\"loop\":false,\"showBookmarksmenuOnLoad\":false,\"showRewind10\":false,\"preventSkipping\":false,\"deactivateSound\":false},\"l10n\":{\"interaction\":\"Interaction\",\"play\":\"Play\",\"pause\":\"Pause\",\"mute\":\"Mute\",\"unmute\":\"Unmute\",\"quality\":\"Video Quality\",\"captions\":\"Captions\",\"close\":\"Close\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit Fullscreen\",\"summary\":\"Open summary dialog\",\"bookmarks\":\"Bookmarks\",\"endscreen\":\"Submit screen\",\"defaultAdaptivitySeekLabel\":\"Continue\",\"continueWithVideo\":\"Continue with video\",\"playbackRate\":\"Playback Rate\",\"rewind10\":\"Rewind 10 Seconds\",\"navDisabled\":\"Navigation is disabled\",\"sndDisabled\":\"Sound is disabled\",\"requiresCompletionWarning\":\"You need to answer all the questions correctly before continuing.\",\"back\":\"Back\",\"hours\":\"Hours\",\"minutes\":\"Minutes\",\"seconds\":\"Seconds\",\"currentTime\":\"Current time:\",\"totalTime\":\"Total time:\",\"singleInteractionAnnouncement\":\"Interaction appeared:\",\"multipleInteractionsAnnouncement\":\"Multiple interactions appeared.\",\"videoPausedAnnouncement\":\"Video is paused\",\"content\":\"Content\",\"answered\":\"@answered answered\",\"endcardTitle\":\"@answered Question(s) answered\",\"endcardInformation\":\"You have answered @answered questions, click below to submit your answers.\",\"endcardInformationNoAnswers\":\"You have not answered any questions.\",\"endcardInformationMustHaveAnswer\":\"You have to answer at least one question before you can submit your answers.\",\"endcardSubmitButton\":\"Submit Answers\",\"endcardSubmitMessage\":\"Your answers have been submitted!\",\"endcardTableRowAnswered\":\"Answered questions\",\"endcardTableRowScore\":\"Score\",\"endcardAnsweredScore\":\"answered\",\"endCardTableRowSummaryWithScore\":\"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\"endCardTableRowSummaryWithoutScore\":\"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\"}}",
"filtered": "{\"interactiveVideo\":{\"video\":{\"startScreenOptions\":{\"title\":\"Interactive Video\",\"hideStartTitle\":false},\"textTracks\":{\"videoTrack\":[{\"label\":\"Subtitles\",\"kind\":\"subtitles\",\"srcLang\":\"en\"}]},\"files\":[{\"path\":\"https://youtu.be/fcjaxC-e8oY\",\"mime\":\"video/YouTube\",\"copyright\":{\"license\":\"U\"}}]},\"assets\":{\"interactions\":[{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":58.33,\"to\":68.33},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"133bca3d-cfe9-442d-a887-8bf1e2ce682a\",\"question\":\"<p>Why do golf balls have dimples?</p>\\n\",\"answers\":[\"<p>They reduce wind resistance.</p>\\n\",\"<p>They make the ball more visually interesting.</p>\\n\",\"<p>They grip the putting green better than a smooth ball.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"ac029b43-7225-49ed-a2d7-8656037748e0\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Why do golf balls have dimples?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Why do golf balls have dimples?</p>\\n\"},{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":132.969,\"to\":142.969},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"308503f3-8d41-4f4f-b016-587bcce3dfac\",\"question\":\"<p>A smooth ball will have a detached airflow, which causes what?</p>\\n\",\"answers\":[\"<p>A low pressure zone, which is what causes drag.</p>\\n\",\"<p>The ball has no spin.</p>\\n\",\"<p>The ball travels higher, but for a shorter distance.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"f70c849d-9542-4f30-9116-8b60b7da708d\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Smooth Ball?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Smooth Ball</p>\\n\"}],\"endscreens\":[{\"time\":295,\"label\":\"4:55 Submit screen\"}]},\"summary\":{\"task\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"8e2cf84f-4557-4f79-a03e-526838498a7d\",\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"8d5527ef-3601-4ad9-9e63-2782c9775173\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\"}},\"displayAt\":3}},\"override\":{\"autoplay\":false,\"loop\":false,\"showBookmarksmenuOnLoad\":false,\"showRewind10\":false,\"preventSkipping\":false,\"deactivateSound\":false},\"l10n\":{\"interaction\":\"Interaction\",\"play\":\"Play\",\"pause\":\"Pause\",\"mute\":\"Mute\",\"unmute\":\"Unmute\",\"quality\":\"Video Quality\",\"captions\":\"Captions\",\"close\":\"Close\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit Fullscreen\",\"summary\":\"Open summary dialog\",\"bookmarks\":\"Bookmarks\",\"endscreen\":\"Submit screen\",\"defaultAdaptivitySeekLabel\":\"Continue\",\"continueWithVideo\":\"Continue with video\",\"playbackRate\":\"Playback Rate\",\"rewind10\":\"Rewind 10 Seconds\",\"navDisabled\":\"Navigation is disabled\",\"sndDisabled\":\"Sound is disabled\",\"requiresCompletionWarning\":\"You need to answer all the questions correctly before continuing.\",\"back\":\"Back\",\"hours\":\"Hours\",\"minutes\":\"Minutes\",\"seconds\":\"Seconds\",\"currentTime\":\"Current time:\",\"totalTime\":\"Total time:\",\"singleInteractionAnnouncement\":\"Interaction appeared:\",\"multipleInteractionsAnnouncement\":\"Multiple interactions appeared.\",\"videoPausedAnnouncement\":\"Video is paused\",\"content\":\"Content\",\"answered\":\"@answered answered\",\"endcardTitle\":\"@answered Question(s) answered\",\"endcardInformation\":\"You have answered @answered questions, click below to submit your answers.\",\"endcardInformationNoAnswers\":\"You have not answered any questions.\",\"endcardInformationMustHaveAnswer\":\"You have to answer at least one question before you can submit your answers.\",\"endcardSubmitButton\":\"Submit Answers\",\"endcardSubmitMessage\":\"Your answers have been submitted!\",\"endcardTableRowAnswered\":\"Answered questions\",\"endcardTableRowScore\":\"Score\",\"endcardAnsweredScore\":\"answered\",\"endCardTableRowSummaryWithScore\":\"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\"endCardTableRowSummaryWithoutScore\":\"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\"}}",
"slug": "science-of-golf-why-balls-have-dimples",
"user_id": 1,
"embedType": "div",
"disable": 9,
"libraryMajorVersion": 1,
"libraryMinorVersion": 21,
"authors": null,
"source": null,
"yearFrom": null,
"yearTo": null,
"licenseVersion": null,
"licenseExtras": null,
"authorComments": null,
"changes": null,
"defaultLanguage": null,
"metadata": {
"title": "Science of Golf: Why Balls Have Dimples",
"license": "U"
},
"library": {
"id": 40,
"name": "H5P.InteractiveVideo",
"majorVersion": 1,
"minorVersion": 21,
"embedTypes": "iframe",
"fullscreen": 1
},
"language": "en",
"tags": ""
},
"activity": {
"id": 1,
"playlist_id": 1,
"title": "Science of Golf: Why Balls Have Dimples",
"type": "h5p",
"content": "",
"shared": false,
"order": 2,
"thumb_url": null,
"subject_id": null,
"education_level_id": null,
"h5p_content": {
"id": 59,
"created_at": "2020-04-30T20:24:58.000000Z",
"updated_at": "2020-04-30T20:24:58.000000Z",
"user_id": 1,
"title": "Science of Golf: Why Balls Have Dimples",
"library_id": 40,
"parameters": "{\"interactiveVideo\":{\"video\":{\"startScreenOptions\":{\"title\":\"Interactive Video\",\"hideStartTitle\":false},\"textTracks\":{\"videoTrack\":[{\"label\":\"Subtitles\",\"kind\":\"subtitles\",\"srcLang\":\"en\"}]},\"files\":[{\"path\":\"https://youtu.be/fcjaxC-e8oY\",\"mime\":\"video/YouTube\",\"copyright\":{\"license\":\"U\"},\"aspectRatio\":\"16:9\"}]},\"assets\":{\"interactions\":[{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":58.33,\"to\":68.33},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"133bca3d-cfe9-442d-a887-8bf1e2ce682a\",\"question\":\"<p>Why do golf balls have dimples?</p>\\n\",\"answers\":[\"<p>They reduce wind resistance.</p>\\n\",\"<p>They make the ball more visually interesting.</p>\\n\",\"<p>They grip the putting green better than a smooth ball.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"ac029b43-7225-49ed-a2d7-8656037748e0\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Why do golf balls have dimples?\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Why do golf balls have dimples?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Why do golf balls have dimples?</p>\\n\"},{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":132.969,\"to\":142.969},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"308503f3-8d41-4f4f-b016-587bcce3dfac\",\"question\":\"<p>A smooth ball will have a detached airflow, which causes what?</p>\\n\",\"answers\":[\"<p>A low pressure zone, which is what causes drag.</p>\\n\",\"<p>The ball has no spin.</p>\\n\",\"<p>The ball travels higher, but for a shorter distance.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"f70c849d-9542-4f30-9116-8b60b7da708d\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Smooth Ball?\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Smooth Ball?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Smooth Ball</p>\\n\"}],\"bookmarks\":[],\"endscreens\":[{\"time\":295,\"label\":\"4:55 Submit screen\"}]},\"summary\":{\"task\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"8e2cf84f-4557-4f79-a03e-526838498a7d\",\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"8d5527ef-3601-4ad9-9e63-2782c9775173\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Untitled Summary\"}},\"displayAt\":3}},\"override\":{\"autoplay\":false,\"loop\":false,\"showBookmarksmenuOnLoad\":false,\"showRewind10\":false,\"preventSkipping\":false,\"deactivateSound\":false},\"l10n\":{\"interaction\":\"Interaction\",\"play\":\"Play\",\"pause\":\"Pause\",\"mute\":\"Mute\",\"unmute\":\"Unmute\",\"quality\":\"Video Quality\",\"captions\":\"Captions\",\"close\":\"Close\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit Fullscreen\",\"summary\":\"Open summary dialog\",\"bookmarks\":\"Bookmarks\",\"endscreen\":\"Submit screen\",\"defaultAdaptivitySeekLabel\":\"Continue\",\"continueWithVideo\":\"Continue with video\",\"playbackRate\":\"Playback Rate\",\"rewind10\":\"Rewind 10 Seconds\",\"navDisabled\":\"Navigation is disabled\",\"sndDisabled\":\"Sound is disabled\",\"requiresCompletionWarning\":\"You need to answer all the questions correctly before continuing.\",\"back\":\"Back\",\"hours\":\"Hours\",\"minutes\":\"Minutes\",\"seconds\":\"Seconds\",\"currentTime\":\"Current time:\",\"totalTime\":\"Total time:\",\"singleInteractionAnnouncement\":\"Interaction appeared:\",\"multipleInteractionsAnnouncement\":\"Multiple interactions appeared.\",\"videoPausedAnnouncement\":\"Video is paused\",\"content\":\"Content\",\"answered\":\"@answered answered\",\"endcardTitle\":\"@answered Question(s) answered\",\"endcardInformation\":\"You have answered @answered questions, click below to submit your answers.\",\"endcardInformationNoAnswers\":\"You have not answered any questions.\",\"endcardInformationMustHaveAnswer\":\"You have to answer at least one question before you can submit your answers.\",\"endcardSubmitButton\":\"Submit Answers\",\"endcardSubmitMessage\":\"Your answers have been submitted!\",\"endcardTableRowAnswered\":\"Answered questions\",\"endcardTableRowScore\":\"Score\",\"endcardAnsweredScore\":\"answered\",\"endCardTableRowSummaryWithScore\":\"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\"endCardTableRowSummaryWithoutScore\":\"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\"}}",
"filtered": "{\"interactiveVideo\":{\"video\":{\"startScreenOptions\":{\"title\":\"Interactive Video\",\"hideStartTitle\":false},\"textTracks\":{\"videoTrack\":[{\"label\":\"Subtitles\",\"kind\":\"subtitles\",\"srcLang\":\"en\"}]},\"files\":[{\"path\":\"https://youtu.be/fcjaxC-e8oY\",\"mime\":\"video/YouTube\",\"copyright\":{\"license\":\"U\"}}]},\"assets\":{\"interactions\":[{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":58.33,\"to\":68.33},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"133bca3d-cfe9-442d-a887-8bf1e2ce682a\",\"question\":\"<p>Why do golf balls have dimples?</p>\\n\",\"answers\":[\"<p>They reduce wind resistance.</p>\\n\",\"<p>They make the ball more visually interesting.</p>\\n\",\"<p>They grip the putting green better than a smooth ball.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"ac029b43-7225-49ed-a2d7-8656037748e0\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Why do golf balls have dimples?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Why do golf balls have dimples?</p>\\n\"},{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":132.969,\"to\":142.969},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"308503f3-8d41-4f4f-b016-587bcce3dfac\",\"question\":\"<p>A smooth ball will have a detached airflow, which causes what?</p>\\n\",\"answers\":[\"<p>A low pressure zone, which is what causes drag.</p>\\n\",\"<p>The ball has no spin.</p>\\n\",\"<p>The ball travels higher, but for a shorter distance.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"f70c849d-9542-4f30-9116-8b60b7da708d\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Smooth Ball?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Smooth Ball</p>\\n\"}],\"endscreens\":[{\"time\":295,\"label\":\"4:55 Submit screen\"}]},\"summary\":{\"task\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"8e2cf84f-4557-4f79-a03e-526838498a7d\",\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"8d5527ef-3601-4ad9-9e63-2782c9775173\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\"}},\"displayAt\":3}},\"override\":{\"autoplay\":false,\"loop\":false,\"showBookmarksmenuOnLoad\":false,\"showRewind10\":false,\"preventSkipping\":false,\"deactivateSound\":false},\"l10n\":{\"interaction\":\"Interaction\",\"play\":\"Play\",\"pause\":\"Pause\",\"mute\":\"Mute\",\"unmute\":\"Unmute\",\"quality\":\"Video Quality\",\"captions\":\"Captions\",\"close\":\"Close\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit Fullscreen\",\"summary\":\"Open summary dialog\",\"bookmarks\":\"Bookmarks\",\"endscreen\":\"Submit screen\",\"defaultAdaptivitySeekLabel\":\"Continue\",\"continueWithVideo\":\"Continue with video\",\"playbackRate\":\"Playback Rate\",\"rewind10\":\"Rewind 10 Seconds\",\"navDisabled\":\"Navigation is disabled\",\"sndDisabled\":\"Sound is disabled\",\"requiresCompletionWarning\":\"You need to answer all the questions correctly before continuing.\",\"back\":\"Back\",\"hours\":\"Hours\",\"minutes\":\"Minutes\",\"seconds\":\"Seconds\",\"currentTime\":\"Current time:\",\"totalTime\":\"Total time:\",\"singleInteractionAnnouncement\":\"Interaction appeared:\",\"multipleInteractionsAnnouncement\":\"Multiple interactions appeared.\",\"videoPausedAnnouncement\":\"Video is paused\",\"content\":\"Content\",\"answered\":\"@answered answered\",\"endcardTitle\":\"@answered Question(s) answered\",\"endcardInformation\":\"You have answered @answered questions, click below to submit your answers.\",\"endcardInformationNoAnswers\":\"You have not answered any questions.\",\"endcardInformationMustHaveAnswer\":\"You have to answer at least one question before you can submit your answers.\",\"endcardSubmitButton\":\"Submit Answers\",\"endcardSubmitMessage\":\"Your answers have been submitted!\",\"endcardTableRowAnswered\":\"Answered questions\",\"endcardTableRowScore\":\"Score\",\"endcardAnsweredScore\":\"answered\",\"endCardTableRowSummaryWithScore\":\"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\"endCardTableRowSummaryWithoutScore\":\"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\"}}",
"slug": "science-of-golf-why-balls-have-dimples",
"embed_type": "div",
"disable": 9,
"content_type": null,
"authors": null,
"source": null,
"year_from": null,
"year_to": null,
"license": "U",
"license_version": null,
"license_extras": null,
"author_comments": null,
"changes": null,
"default_language": null
},
"is_public": false,
"created_at": null,
"updated_at": null
},
"playlist": {
"id": 1,
"title": "The Engineering & Design Behind Golf Balls",
"order": 0,
"is_public": true,
"project_id": 1,
"project": {
"id": 1,
"name": "The Science of Golf",
"description": "Uncover the science, technology, engineering, and mathematics behind the game of golf.",
"thumb_url": "/storage/projects/nN5y8v8zh2ghxrKuHCv5wvJOREFw0Nr27s2DPxWq.png",
"shared": false,
"starter_project": false,
"users": [
{
"id": 1,
"email": "john.doe@currikistudio.org",
"first_name": "John",
"last_name": "Doe",
"role": "owner"
}
],
"is_public": true,
"created_at": "2020-04-30T20:03:12.000000Z",
"updated_at": "2020-07-11T12:51:07.000000Z"
},
"activities": [
{
"id": 4,
"playlist_id": 1,
"title": "Labeling Golf Ball - Principles of Physics",
"type": "h5p",
"content": "",
"shared": false,
"order": 0,
"thumb_url": null,
"subject_id": null,
"education_level_id": null,
"h5p_content": {
"id": 65,
"created_at": "2020-04-30T23:40:49.000000Z",
"updated_at": "2020-04-30T23:40:49.000000Z",
"user_id": 1,
"title": "Labeling Golf Ball - Principles of Physics",
"library_id": 19,
"parameters": "{\"scoreShow\":\"Check\",\"tryAgain\":\"Retry\",\"scoreExplanation\":\"Correct answers give +1 point. Incorrect answers give -1 point. The lowest possible score is 0.\",\"question\":{\"settings\":{\"size\":{\"width\":620,\"height\":310},\"background\":{\"path\":\"images/background-5eab614083be2.png#tmp\",\"mime\":\"image/png\",\"copyright\":{\"license\":\"U\"},\"width\":620,\"height\":310}},\"task\":{\"elements\":[{\"x\":0,\"y\":47.96909692035003,\"width\":7.812090416666667,\"height\":1.3537570833333332,\"dropZones\":[\"0\",\"1\",\"2\"],\"type\":{\"library\":\"H5P.AdvancedText 1.1\",\"params\":{\"text\":\"<p>Lift</p>\\n\"},\"subContentId\":\"be1d9b11-91ff-4e59-a7c6-9966e1bf8cb2\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Lift\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Lift\"}},\"backgroundOpacity\":100,\"multiple\":false},{\"x\":-4.63163666049382e-8,\"y\":58.810763796296285,\"width\":7.812090416666667,\"height\":1.3537570833333332,\"dropZones\":[\"0\",\"1\",\"2\"],\"type\":{\"library\":\"H5P.AdvancedText 1.1\",\"params\":{\"text\":\"<p>Drag</p>\\n\"},\"subContentId\":\"05a00202-b5dd-44a9-acf1-0cce77278b33\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Drag\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Drag\"}},\"backgroundOpacity\":100,\"multiple\":false},{\"x\":-4.63163666049382e-8,\"y\":36.89236101851851,\"width\":7.812090416666667,\"height\":1.281997824074074,\"dropZones\":[\"0\",\"1\",\"2\"],\"type\":{\"library\":\"H5P.AdvancedText 1.1\",\"params\":{\"text\":\"<p>Spin</p>\\n\"},\"subContentId\":\"140a5423-873b-46d4-8f4f-9b236cefce20\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Spin\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Spin\"}},\"backgroundOpacity\":100,\"multiple\":false}],\"dropZones\":[{\"x\":72.35516653328209,\"y\":14.75972212933847,\"width\":8.61111111111111,\"height\":2.511574074074074,\"correctElements\":[\"0\"],\"showLabel\":false,\"backgroundOpacity\":50,\"tipsAndFeedback\":{\"tip\":\"\"},\"single\":true,\"autoAlign\":true,\"type\":{\"library\":\"H5P.DragQuestionDropzone 0.1\"},\"label\":\"<div>Lift</div>\\n\"},{\"x\":72.35484909201396,\"y\":36.89236101851851,\"width\":8.61111111111111,\"height\":2.511574074074074,\"correctElements\":[\"1\"],\"showLabel\":false,\"backgroundOpacity\":50,\"tipsAndFeedback\":{\"tip\":\"\"},\"single\":true,\"autoAlign\":true,\"type\":{\"library\":\"H5P.DragQuestionDropzone 0.1\"},\"label\":\"<div>Drag</div>\\n\"},{\"x\":72.35516653328209,\"y\":51.65902745268465,\"width\":8.61111111111111,\"height\":2.511574074074074,\"correctElements\":[\"2\"],\"showLabel\":false,\"backgroundOpacity\":50,\"tipsAndFeedback\":{\"tip\":\"\"},\"single\":true,\"autoAlign\":true,\"type\":{\"library\":\"H5P.DragQuestionDropzone 0.1\"},\"label\":\"<div>Spin</div>\\n\"}]}},\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"enableRetry\":true,\"enableCheckButton\":true,\"showSolutionsRequiresInput\":true,\"singlePoint\":false,\"applyPenalties\":true,\"enableScoreExplanation\":true,\"dropZoneHighlighting\":\"dragging\",\"autoAlignSpacing\":2,\"enableFullScreen\":false,\"showScorePoints\":true,\"showTitle\":true},\"grabbablePrefix\":\"Grabbable {num} of {total}.\",\"grabbableSuffix\":\"Placed in dropzone {num}.\",\"dropzonePrefix\":\"Dropzone {num} of {total}.\",\"noDropzone\":\"No dropzone.\",\"tipLabel\":\"Show tip.\",\"tipAvailable\":\"Tip available\",\"correctAnswer\":\"Correct answer\",\"wrongAnswer\":\"Wrong answer\",\"feedbackHeader\":\"Feedback\",\"scoreBarLabel\":\"You got :num out of :total points\",\"scoreExplanationButtonLabel\":\"Show score explanation\",\"localize\":{\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit fullscreen\"}}",
"filtered": "{\"scoreShow\":\"Check\",\"tryAgain\":\"Retry\",\"scoreExplanation\":\"Correct answers give +1 point. Incorrect answers give -1 point. The lowest possible score is 0.\",\"question\":{\"settings\":{\"size\":{\"width\":620,\"height\":310},\"background\":{\"path\":\"images/background-5eab614083be2.png\",\"mime\":\"image/png\",\"copyright\":{\"license\":\"U\"},\"width\":620,\"height\":310}},\"task\":{\"elements\":[{\"x\":0,\"y\":47.96909692035003,\"width\":7.812090416666667,\"height\":1.3537570833333332,\"dropZones\":[\"0\",\"1\",\"2\"],\"type\":{\"library\":\"H5P.AdvancedText 1.1\",\"params\":{\"text\":\"<p>Lift</p>\\n\"},\"subContentId\":\"be1d9b11-91ff-4e59-a7c6-9966e1bf8cb2\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Lift\"}},\"backgroundOpacity\":100,\"multiple\":false},{\"x\":-4.63163666049382e-8,\"y\":58.810763796296285,\"width\":7.812090416666667,\"height\":1.3537570833333332,\"dropZones\":[\"0\",\"1\",\"2\"],\"type\":{\"library\":\"H5P.AdvancedText 1.1\",\"params\":{\"text\":\"<p>Drag</p>\\n\"},\"subContentId\":\"05a00202-b5dd-44a9-acf1-0cce77278b33\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Drag\"}},\"backgroundOpacity\":100,\"multiple\":false},{\"x\":-4.63163666049382e-8,\"y\":36.89236101851851,\"width\":7.812090416666667,\"height\":1.281997824074074,\"dropZones\":[\"0\",\"1\",\"2\"],\"type\":{\"library\":\"H5P.AdvancedText 1.1\",\"params\":{\"text\":\"<p>Spin</p>\\n\"},\"subContentId\":\"140a5423-873b-46d4-8f4f-9b236cefce20\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Spin\"}},\"backgroundOpacity\":100,\"multiple\":false}],\"dropZones\":[{\"x\":72.35516653328209,\"y\":14.75972212933847,\"width\":8.61111111111111,\"height\":2.511574074074074,\"correctElements\":[\"0\"],\"showLabel\":false,\"backgroundOpacity\":50,\"tipsAndFeedback\":{\"tip\":\"\"},\"single\":true,\"autoAlign\":true,\"label\":\"<div>Lift</div>\\n\"},{\"x\":72.35484909201396,\"y\":36.89236101851851,\"width\":8.61111111111111,\"height\":2.511574074074074,\"correctElements\":[\"1\"],\"showLabel\":false,\"backgroundOpacity\":50,\"tipsAndFeedback\":{\"tip\":\"\"},\"single\":true,\"autoAlign\":true,\"label\":\"<div>Drag</div>\\n\"},{\"x\":72.35516653328209,\"y\":51.65902745268465,\"width\":8.61111111111111,\"height\":2.511574074074074,\"correctElements\":[\"2\"],\"showLabel\":false,\"backgroundOpacity\":50,\"tipsAndFeedback\":{\"tip\":\"\"},\"single\":true,\"autoAlign\":true,\"label\":\"<div>Spin</div>\\n\"}]}},\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"enableRetry\":true,\"enableCheckButton\":true,\"showSolutionsRequiresInput\":true,\"singlePoint\":false,\"applyPenalties\":true,\"enableScoreExplanation\":true,\"dropZoneHighlighting\":\"dragging\",\"autoAlignSpacing\":2,\"enableFullScreen\":false,\"showScorePoints\":true,\"showTitle\":true},\"grabbablePrefix\":\"Grabbable {num} of {total}.\",\"grabbableSuffix\":\"Placed in dropzone {num}.\",\"dropzonePrefix\":\"Dropzone {num} of {total}.\",\"noDropzone\":\"No dropzone.\",\"tipLabel\":\"Show tip.\",\"tipAvailable\":\"Tip available\",\"correctAnswer\":\"Correct answer\",\"wrongAnswer\":\"Wrong answer\",\"feedbackHeader\":\"Feedback\",\"scoreBarLabel\":\"You got :num out of :total points\",\"scoreExplanationButtonLabel\":\"Show score explanation\",\"localize\":{\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit fullscreen\"}}",
"slug": "labeling-golf-ball-principles-of-physics",
"embed_type": "div",
"disable": 9,
"content_type": null,
"authors": null,
"source": null,
"year_from": null,
"year_to": null,
"license": "U",
"license_version": null,
"license_extras": null,
"author_comments": null,
"changes": null,
"default_language": null
},
"is_public": false,
"created_at": null,
"updated_at": null
},
{
"id": 17774,
"playlist_id": 1,
"title": "Latest",
"type": "h5p",
"content": "test",
"shared": false,
"order": null,
"thumb_url": "/storage/activities/DrV6rZ6ZDXFMT1k51gbOqw04rqguq6CMtiiD1nDH.png",
"subject_id": "Mathematics",
"education_level_id": null,
"h5p_content": {
"id": 19334,
"created_at": "2020-08-30T20:09:56.000000Z",
"updated_at": "2020-08-30T20:09:56.000000Z",
"user_id": 1,
"title": "Latest",
"library_id": 98,
"parameters": "{\"l10n\":{\"recordAnswer\":\"Record\",\"pause\":\"Pause\",\"continue\":\"Continue\",\"download\":\"Download\",\"done\":\"Done\",\"retry\":\"Retry\",\"microphoneNotSupported\":\"Microphone not supported. Make sure you are using a browser that allows microphone recording.\",\"microphoneInaccessible\":\"Microphone is not accessible. Make sure that the browser microphone is enabled.\",\"insecureNotAllowed\":\"Access to microphone is not allowed in your browser since this page is not served using HTTPS. Please contact the author, and ask him to make this available using HTTPS\",\"statusReadyToRecord\":\"Press a button below to record your answer.\",\"statusRecording\":\"Recording...\",\"statusPaused\":\"Recording paused. Press a button to continue recording.\",\"statusFinishedRecording\":\"You have successfully recorded your answer! Listen to the recording below.\",\"downloadRecording\":\"Download this recording or retry.\",\"retryDialogHeaderText\":\"Retry recording?\",\"retryDialogBodyText\":\"By pressing \\\"Retry\\\" you will lose your current recording.\",\"retryDialogConfirmText\":\"Retry\",\"retryDialogCancelText\":\"Cancel\",\"statusCantCreateTheAudioFile\":\"Can't create the audio file.\"}}",
"filtered": "",
"slug": "latest",
"embed_type": "div",
"disable": 9,
"content_type": null,
"authors": null,
"source": null,
"year_from": null,
"year_to": null,
"license": "U",
"license_version": null,
"license_extras": null,
"author_comments": null,
"changes": null,
"default_language": null
},
"is_public": false,
"created_at": "2020-08-30T20:22:47.000000Z",
"updated_at": "2020-08-30T20:22:47.000000Z"
},
{
"id": 17776,
"playlist_id": 1,
"title": "Latest",
"type": "h5p",
"content": "test",
"shared": false,
"order": null,
"thumb_url": "/storage/activities/DrV6rZ6ZDXFMT1k51gbOqw04rqguq6CMtiiD1nDH.png",
"subject_id": "Mathematics",
"education_level_id": null,
"h5p_content": {
"id": 19334,
"created_at": "2020-08-30T20:09:56.000000Z",
"updated_at": "2020-08-30T20:09:56.000000Z",
"user_id": 1,
"title": "Latest",
"library_id": 98,
"parameters": "{\"l10n\":{\"recordAnswer\":\"Record\",\"pause\":\"Pause\",\"continue\":\"Continue\",\"download\":\"Download\",\"done\":\"Done\",\"retry\":\"Retry\",\"microphoneNotSupported\":\"Microphone not supported. Make sure you are using a browser that allows microphone recording.\",\"microphoneInaccessible\":\"Microphone is not accessible. Make sure that the browser microphone is enabled.\",\"insecureNotAllowed\":\"Access to microphone is not allowed in your browser since this page is not served using HTTPS. Please contact the author, and ask him to make this available using HTTPS\",\"statusReadyToRecord\":\"Press a button below to record your answer.\",\"statusRecording\":\"Recording...\",\"statusPaused\":\"Recording paused. Press a button to continue recording.\",\"statusFinishedRecording\":\"You have successfully recorded your answer! Listen to the recording below.\",\"downloadRecording\":\"Download this recording or retry.\",\"retryDialogHeaderText\":\"Retry recording?\",\"retryDialogBodyText\":\"By pressing \\\"Retry\\\" you will lose your current recording.\",\"retryDialogConfirmText\":\"Retry\",\"retryDialogCancelText\":\"Cancel\",\"statusCantCreateTheAudioFile\":\"Can't create the audio file.\"}}",
"filtered": "",
"slug": "latest",
"embed_type": "div",
"disable": 9,
"content_type": null,
"authors": null,
"source": null,
"year_from": null,
"year_to": null,
"license": "U",
"license_version": null,
"license_extras": null,
"author_comments": null,
"changes": null,
"default_language": null
},
"is_public": false,
"created_at": "2020-08-30T20:24:29.000000Z",
"updated_at": "2020-08-30T20:24:29.000000Z"
},
{
"id": 3,
"playlist_id": 1,
"title": "Physics Vocabulary Study Guide",
"type": "h5p",
"content": "",
"shared": false,
"order": 1,
"thumb_url": null,
"subject_id": null,
"education_level_id": null,
"h5p_content": {
"id": 61,
"created_at": "2020-04-30T20:35:30.000000Z",
"updated_at": "2020-04-30T20:35:30.000000Z",
"user_id": 1,
"title": "Physics Vocabulary Study Guide",
"library_id": 63,
"parameters": "{\"panels\":[{\"content\":{\"params\":{\"text\":\"<p style=\\\"margin-bottom:10px\\\"><span style=\\\"font-size:11pt\\\"><span style=\\\"line-height:107%\\\"><span style=\\\"font-family:Calibri,sans-serif\\\">Acceleration is the measurement of the change </span></span></span><span style=\\\"font-size:11.0pt\\\"><span style=\\\"line-height:107%\\\"><span style=\\\"font-family:"Calibri",sans-serif\\\">in an object\\u2019s velocity. </span></span></span></p>\\n\"},\"library\":\"H5P.AdvancedText 1.1\",\"subContentId\":\"97578055-d386-46be-afe3-c19eae4108aa\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Acceleration\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Acceleration\"}},\"title\":\"Acceleration\"},{\"content\":{\"params\":{\"text\":\"<p style=\\\"margin-bottom:10px\\\"><span style=\\\"font-size:11pt\\\"><span style=\\\"line-height:107%\\\"><span style=\\\"font-family:Calibri,sans-serif\\\">The faster the air moves, the less pressure it exerts.</span></span></span></p>\\n\"},\"library\":\"H5P.AdvancedText 1.1\",\"subContentId\":\"0ce32fbf-4ff1-465b-9c50-8876c5fef34d\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Bernoulli\\u2019s Principle\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Bernoulli\\u2019s Principle\"}},\"title\":\"Bernoulli\\u2019s Principle\"},{\"content\":{\"params\":{\"text\":\"<p><span style=\\\"font-size:10.5pt\\\"><span style=\\\"line-height:107%\\\"><span style=\\\"font-family:"Calibri",sans-serif\\\"><span style=\\\"color:black\\\">A vector is a quantity that has both a magnitude and a direction.</span></span></span></span></p>\\n\"},\"library\":\"H5P.AdvancedText 1.1\",\"subContentId\":\"cead752e-0c29-4acb-b9ae-2f61a3cd5c9b\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Vector\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Vector\"}},\"title\":\"Vector\"},{\"content\":{\"params\":{\"text\":\"<p><span style=\\\"font-size:10.5pt\\\"><span style=\\\"line-height:107%\\\"><span style=\\\"font-family:"Calibri",sans-serif\\\"><span style=\\\"color:black\\\">Drag is the force that acts opposite to the direction of motion. Drag is caused by friction and differences in air pressure.</span></span></span></span></p>\\n\"},\"library\":\"H5P.AdvancedText 1.1\",\"subContentId\":\"6ae4b819-276d-405e-b085-e894c31484d3\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Drag\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Drag\"}},\"title\":\"Drag\"},{\"content\":{\"params\":{\"text\":\"<p style=\\\"margin-bottom:10px\\\"><span style=\\\"font-size:11pt\\\"><span style=\\\"line-height:normal\\\"><span style=\\\"font-family:Calibri,sans-serif\\\"><span style=\\\"font-size:10.5pt\\\"><span style=\\\"color:black\\\">A turbulent flow is one in which the particles have irregular, fluctuating motions and erratic paths.</span></span></span></span></span></p>\\n\"},\"library\":\"H5P.AdvancedText 1.1\",\"subContentId\":\"f9f63fdd-0a8a-4259-a3f1-ca7271b51727\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Turbulent airflow\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Turbulent airflow\"}},\"title\":\"Turbulent airflow\"},{\"content\":{\"params\":{\"text\":\"<p style=\\\"margin-bottom:10px\\\"><span style=\\\"font-size:11pt\\\"><span style=\\\"line-height:107%\\\"><span style=\\\"font-family:Calibri,sans-serif\\\">Friction is the resistance of motion when one object rubs against another. It is a force and is measured in newtons.</span></span></span></p>\\n\"},\"library\":\"H5P.AdvancedText 1.1\",\"subContentId\":\"236c832f-f754-47d6-8d2c-1311a354d861\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Friction\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Friction\"}},\"title\":\"Friction\"}],\"hTag\":\"h2\"}",
"filtered": "{\"panels\":[{\"content\":{\"params\":{\"text\":\"<p><span><span><span>Acceleration is the measurement of the change </span></span></span><span><span><span>in an object\\u2019s velocity. </span></span></span></p>\\n\"},\"library\":\"H5P.AdvancedText 1.1\",\"subContentId\":\"97578055-d386-46be-afe3-c19eae4108aa\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Acceleration\"}},\"title\":\"Acceleration\"},{\"content\":{\"params\":{\"text\":\"<p><span><span><span>The faster the air moves, the less pressure it exerts.</span></span></span></p>\\n\"},\"library\":\"H5P.AdvancedText 1.1\",\"subContentId\":\"0ce32fbf-4ff1-465b-9c50-8876c5fef34d\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Bernoulli\\u2019s Principle\"}},\"title\":\"Bernoulli\\u2019s Principle\"},{\"content\":{\"params\":{\"text\":\"<p><span><span><span><span>A vector is a quantity that has both a magnitude and a direction.</span></span></span></span></p>\\n\"},\"library\":\"H5P.AdvancedText 1.1\",\"subContentId\":\"cead752e-0c29-4acb-b9ae-2f61a3cd5c9b\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Vector\"}},\"title\":\"Vector\"},{\"content\":{\"params\":{\"text\":\"<p><span><span><span><span>Drag is the force that acts opposite to the direction of motion. Drag is caused by friction and differences in air pressure.</span></span></span></span></p>\\n\"},\"library\":\"H5P.AdvancedText 1.1\",\"subContentId\":\"6ae4b819-276d-405e-b085-e894c31484d3\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Drag\"}},\"title\":\"Drag\"},{\"content\":{\"params\":{\"text\":\"<p><span><span><span><span><span>A turbulent flow is one in which the particles have irregular, fluctuating motions and erratic paths.</span></span></span></span></span></p>\\n\"},\"library\":\"H5P.AdvancedText 1.1\",\"subContentId\":\"f9f63fdd-0a8a-4259-a3f1-ca7271b51727\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Turbulent airflow\"}},\"title\":\"Turbulent airflow\"},{\"content\":{\"params\":{\"text\":\"<p><span><span><span>Friction is the resistance of motion when one object rubs against another. It is a force and is measured in newtons.</span></span></span></p>\\n\"},\"library\":\"H5P.AdvancedText 1.1\",\"subContentId\":\"236c832f-f754-47d6-8d2c-1311a354d861\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Friction\"}},\"title\":\"Friction\"}],\"hTag\":\"h2\"}",
"slug": "physics-vocabulary-study-guide",
"embed_type": "div",
"disable": 9,
"content_type": null,
"authors": null,
"source": null,
"year_from": null,
"year_to": null,
"license": "U",
"license_version": null,
"license_extras": null,
"author_comments": null,
"changes": null,
"default_language": null
},
"is_public": false,
"created_at": null,
"updated_at": null
},
{
"id": 1,
"playlist_id": 1,
"title": "Science of Golf: Why Balls Have Dimples",
"type": "h5p",
"content": "",
"shared": false,
"order": 2,
"thumb_url": null,
"subject_id": null,
"education_level_id": null,
"h5p_content": {
"id": 59,
"created_at": "2020-04-30T20:24:58.000000Z",
"updated_at": "2020-04-30T20:24:58.000000Z",
"user_id": 1,
"title": "Science of Golf: Why Balls Have Dimples",
"library_id": 40,
"parameters": "{\"interactiveVideo\":{\"video\":{\"startScreenOptions\":{\"title\":\"Interactive Video\",\"hideStartTitle\":false},\"textTracks\":{\"videoTrack\":[{\"label\":\"Subtitles\",\"kind\":\"subtitles\",\"srcLang\":\"en\"}]},\"files\":[{\"path\":\"https://youtu.be/fcjaxC-e8oY\",\"mime\":\"video/YouTube\",\"copyright\":{\"license\":\"U\"},\"aspectRatio\":\"16:9\"}]},\"assets\":{\"interactions\":[{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":58.33,\"to\":68.33},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"133bca3d-cfe9-442d-a887-8bf1e2ce682a\",\"question\":\"<p>Why do golf balls have dimples?</p>\\n\",\"answers\":[\"<p>They reduce wind resistance.</p>\\n\",\"<p>They make the ball more visually interesting.</p>\\n\",\"<p>They grip the putting green better than a smooth ball.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"ac029b43-7225-49ed-a2d7-8656037748e0\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Why do golf balls have dimples?\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Why do golf balls have dimples?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Why do golf balls have dimples?</p>\\n\"},{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":132.969,\"to\":142.969},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"308503f3-8d41-4f4f-b016-587bcce3dfac\",\"question\":\"<p>A smooth ball will have a detached airflow, which causes what?</p>\\n\",\"answers\":[\"<p>A low pressure zone, which is what causes drag.</p>\\n\",\"<p>The ball has no spin.</p>\\n\",\"<p>The ball travels higher, but for a shorter distance.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"f70c849d-9542-4f30-9116-8b60b7da708d\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Smooth Ball?\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Smooth Ball?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Smooth Ball</p>\\n\"}],\"bookmarks\":[],\"endscreens\":[{\"time\":295,\"label\":\"4:55 Submit screen\"}]},\"summary\":{\"task\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"8e2cf84f-4557-4f79-a03e-526838498a7d\",\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"8d5527ef-3601-4ad9-9e63-2782c9775173\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Untitled Summary\"}},\"displayAt\":3}},\"override\":{\"autoplay\":false,\"loop\":false,\"showBookmarksmenuOnLoad\":false,\"showRewind10\":false,\"preventSkipping\":false,\"deactivateSound\":false},\"l10n\":{\"interaction\":\"Interaction\",\"play\":\"Play\",\"pause\":\"Pause\",\"mute\":\"Mute\",\"unmute\":\"Unmute\",\"quality\":\"Video Quality\",\"captions\":\"Captions\",\"close\":\"Close\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit Fullscreen\",\"summary\":\"Open summary dialog\",\"bookmarks\":\"Bookmarks\",\"endscreen\":\"Submit screen\",\"defaultAdaptivitySeekLabel\":\"Continue\",\"continueWithVideo\":\"Continue with video\",\"playbackRate\":\"Playback Rate\",\"rewind10\":\"Rewind 10 Seconds\",\"navDisabled\":\"Navigation is disabled\",\"sndDisabled\":\"Sound is disabled\",\"requiresCompletionWarning\":\"You need to answer all the questions correctly before continuing.\",\"back\":\"Back\",\"hours\":\"Hours\",\"minutes\":\"Minutes\",\"seconds\":\"Seconds\",\"currentTime\":\"Current time:\",\"totalTime\":\"Total time:\",\"singleInteractionAnnouncement\":\"Interaction appeared:\",\"multipleInteractionsAnnouncement\":\"Multiple interactions appeared.\",\"videoPausedAnnouncement\":\"Video is paused\",\"content\":\"Content\",\"answered\":\"@answered answered\",\"endcardTitle\":\"@answered Question(s) answered\",\"endcardInformation\":\"You have answered @answered questions, click below to submit your answers.\",\"endcardInformationNoAnswers\":\"You have not answered any questions.\",\"endcardInformationMustHaveAnswer\":\"You have to answer at least one question before you can submit your answers.\",\"endcardSubmitButton\":\"Submit Answers\",\"endcardSubmitMessage\":\"Your answers have been submitted!\",\"endcardTableRowAnswered\":\"Answered questions\",\"endcardTableRowScore\":\"Score\",\"endcardAnsweredScore\":\"answered\",\"endCardTableRowSummaryWithScore\":\"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\"endCardTableRowSummaryWithoutScore\":\"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\"}}",
"filtered": "{\"interactiveVideo\":{\"video\":{\"startScreenOptions\":{\"title\":\"Interactive Video\",\"hideStartTitle\":false},\"textTracks\":{\"videoTrack\":[{\"label\":\"Subtitles\",\"kind\":\"subtitles\",\"srcLang\":\"en\"}]},\"files\":[{\"path\":\"https://youtu.be/fcjaxC-e8oY\",\"mime\":\"video/YouTube\",\"copyright\":{\"license\":\"U\"}}]},\"assets\":{\"interactions\":[{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":58.33,\"to\":68.33},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"133bca3d-cfe9-442d-a887-8bf1e2ce682a\",\"question\":\"<p>Why do golf balls have dimples?</p>\\n\",\"answers\":[\"<p>They reduce wind resistance.</p>\\n\",\"<p>They make the ball more visually interesting.</p>\\n\",\"<p>They grip the putting green better than a smooth ball.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"ac029b43-7225-49ed-a2d7-8656037748e0\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Why do golf balls have dimples?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Why do golf balls have dimples?</p>\\n\"},{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":132.969,\"to\":142.969},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"308503f3-8d41-4f4f-b016-587bcce3dfac\",\"question\":\"<p>A smooth ball will have a detached airflow, which causes what?</p>\\n\",\"answers\":[\"<p>A low pressure zone, which is what causes drag.</p>\\n\",\"<p>The ball has no spin.</p>\\n\",\"<p>The ball travels higher, but for a shorter distance.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"f70c849d-9542-4f30-9116-8b60b7da708d\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Smooth Ball?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Smooth Ball</p>\\n\"}],\"endscreens\":[{\"time\":295,\"label\":\"4:55 Submit screen\"}]},\"summary\":{\"task\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"8e2cf84f-4557-4f79-a03e-526838498a7d\",\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"8d5527ef-3601-4ad9-9e63-2782c9775173\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\"}},\"displayAt\":3}},\"override\":{\"autoplay\":false,\"loop\":false,\"showBookmarksmenuOnLoad\":false,\"showRewind10\":false,\"preventSkipping\":false,\"deactivateSound\":false},\"l10n\":{\"interaction\":\"Interaction\",\"play\":\"Play\",\"pause\":\"Pause\",\"mute\":\"Mute\",\"unmute\":\"Unmute\",\"quality\":\"Video Quality\",\"captions\":\"Captions\",\"close\":\"Close\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit Fullscreen\",\"summary\":\"Open summary dialog\",\"bookmarks\":\"Bookmarks\",\"endscreen\":\"Submit screen\",\"defaultAdaptivitySeekLabel\":\"Continue\",\"continueWithVideo\":\"Continue with video\",\"playbackRate\":\"Playback Rate\",\"rewind10\":\"Rewind 10 Seconds\",\"navDisabled\":\"Navigation is disabled\",\"sndDisabled\":\"Sound is disabled\",\"requiresCompletionWarning\":\"You need to answer all the questions correctly before continuing.\",\"back\":\"Back\",\"hours\":\"Hours\",\"minutes\":\"Minutes\",\"seconds\":\"Seconds\",\"currentTime\":\"Current time:\",\"totalTime\":\"Total time:\",\"singleInteractionAnnouncement\":\"Interaction appeared:\",\"multipleInteractionsAnnouncement\":\"Multiple interactions appeared.\",\"videoPausedAnnouncement\":\"Video is paused\",\"content\":\"Content\",\"answered\":\"@answered answered\",\"endcardTitle\":\"@answered Question(s) answered\",\"endcardInformation\":\"You have answered @answered questions, click below to submit your answers.\",\"endcardInformationNoAnswers\":\"You have not answered any questions.\",\"endcardInformationMustHaveAnswer\":\"You have to answer at least one question before you can submit your answers.\",\"endcardSubmitButton\":\"Submit Answers\",\"endcardSubmitMessage\":\"Your answers have been submitted!\",\"endcardTableRowAnswered\":\"Answered questions\",\"endcardTableRowScore\":\"Score\",\"endcardAnsweredScore\":\"answered\",\"endCardTableRowSummaryWithScore\":\"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\"endCardTableRowSummaryWithoutScore\":\"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\"}}",
"slug": "science-of-golf-why-balls-have-dimples",
"embed_type": "div",
"disable": 9,
"content_type": null,
"authors": null,
"source": null,
"year_from": null,
"year_to": null,
"license": "U",
"license_version": null,
"license_extras": null,
"author_comments": null,
"changes": null,
"default_language": null
},
"is_public": false,
"created_at": null,
"updated_at": null
},
{
"id": 2,
"playlist_id": 1,
"title": "Physics and Golf Balls",
"type": "h5p",
"content": "",
"shared": false,
"order": 3,
"thumb_url": null,
"subject_id": null,
"education_level_id": null,
"h5p_content": {
"id": 60,
"created_at": "2020-04-30T20:31:11.000000Z",
"updated_at": "2020-04-30T20:31:11.000000Z",
"user_id": 1,
"title": "Physics and Golf Balls",
"library_id": 60,
"parameters": "{\"cards\":[{\"text\":\"Is the measurement of the change in an object\\u2019s velocity called Speed or Acceleration?\",\"answer\":\"Acceleration\",\"image\":{\"path\":\"images/image-5eab35098aaf0.png#tmp\",\"mime\":\"image/png\",\"copyright\":{\"license\":\"U\"},\"width\":1280,\"height\":720},\"tip\":\"\"},{\"text\":\"Dimples reduce wind resistance or aerodynamic drag. Does that make the ball go farther or faster?\",\"answer\":\"Farther\",\"image\":{\"path\":\"images/image-5eab355f7ca78.jpg#tmp\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":1280,\"height\":720},\"tip\":\"\"},{\"text\":\"Do dimples on a ball increase or decrease the lift?\",\"answer\":\"Increase\",\"image\":{\"path\":\"images/image-5eab3589be9e3.jpg#tmp\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":634,\"height\":508},\"tip\":\"\"}],\"progressText\":\"Card @card of @total\",\"next\":\"Next\",\"previous\":\"Previous\",\"checkAnswerText\":\"Check\",\"showSolutionsRequiresInput\":true,\"defaultAnswerText\":\"Your answer\",\"correctAnswerText\":\"Correct\",\"incorrectAnswerText\":\"Incorrect\",\"showSolutionText\":\"Correct answer\",\"results\":\"Results\",\"ofCorrect\":\"@score of @total correct\",\"showResults\":\"Show results\",\"answerShortText\":\"A:\",\"retry\":\"Retry\",\"caseSensitive\":false,\"cardAnnouncement\":\"Incorrect answer. Correct answer was @answer\",\"pageAnnouncement\":\"Page @current of @total\",\"description\":\"See if you can remember what you learned!\"}",
"filtered": "{\"cards\":[{\"text\":\"Is the measurement of the change in an object\\u2019s velocity called Speed or Acceleration?\",\"answer\":\"Acceleration\",\"image\":{\"path\":\"images/image-5eab35098aaf0.png\",\"mime\":\"image/png\",\"copyright\":{\"license\":\"U\"},\"width\":1280,\"height\":720},\"tip\":\"\"},{\"text\":\"Dimples reduce wind resistance or aerodynamic drag. Does that make the ball go farther or faster?\",\"answer\":\"Farther\",\"image\":{\"path\":\"images/image-5eab355f7ca78.jpg\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":1280,\"height\":720},\"tip\":\"\"},{\"text\":\"Do dimples on a ball increase or decrease the lift?\",\"answer\":\"Increase\",\"image\":{\"path\":\"images/image-5eab3589be9e3.jpg\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":634,\"height\":508},\"tip\":\"\"}],\"progressText\":\"Card @card of @total\",\"next\":\"Next\",\"previous\":\"Previous\",\"checkAnswerText\":\"Check\",\"showSolutionsRequiresInput\":true,\"defaultAnswerText\":\"Your answer\",\"correctAnswerText\":\"Correct\",\"incorrectAnswerText\":\"Incorrect\",\"showSolutionText\":\"Correct answer\",\"results\":\"Results\",\"ofCorrect\":\"@score of @total correct\",\"showResults\":\"Show results\",\"answerShortText\":\"A:\",\"retry\":\"Retry\",\"caseSensitive\":false,\"cardAnnouncement\":\"Incorrect answer. Correct answer was @answer\",\"pageAnnouncement\":\"Page @current of @total\",\"description\":\"See if you can remember what you learned!\"}",
"slug": "physics-and-golf-balls",
"embed_type": "div",
"disable": 9,
"content_type": null,
"authors": null,
"source": null,
"year_from": null,
"year_to": null,
"license": "U",
"license_version": null,
"license_extras": null,
"author_comments": null,
"changes": null,
"default_language": null
},
"is_public": false,
"created_at": null,
"updated_at": null
},
{
"id": 6,
"playlist_id": 1,
"title": "Understanding Gear Effect | Equipment and Tech | 18Birdies",
"type": "h5p",
"content": "",
"shared": false,
"order": 4,
"thumb_url": null,
"subject_id": null,
"education_level_id": null,
"h5p_content": {
"id": 75,
"created_at": "2020-05-01T04:51:11.000000Z",
"updated_at": "2020-05-01T04:51:11.000000Z",
"user_id": 1,
"title": "Understanding Gear Effect | Equipment and Tech | 18Birdies",
"library_id": 40,
"parameters": "{\"interactiveVideo\":{\"video\":{\"startScreenOptions\":{\"title\":\"Interactive Video\",\"hideStartTitle\":false},\"textTracks\":{\"videoTrack\":[{\"label\":\"Subtitles\",\"kind\":\"subtitles\",\"srcLang\":\"en\"}]},\"files\":[{\"path\":\"https://www.youtube.com/watch?v=FdH0JQL5E-U&list=PLVIShUJLAj0rWw3Yr3VtFGH4IbIVMfQFo\",\"mime\":\"video/YouTube\",\"copyright\":{\"license\":\"U\"},\"aspectRatio\":\"16:9\"}]},\"assets\":{\"interactions\":[{\"x\":46.87499999999999,\"y\":44.44444444444444,\"width\":10,\"height\":10,\"duration\":{\"from\":52,\"to\":52},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"c9f0c83d-2ba2-4810-843a-1ee7bec2076f\",\"question\":\"<p>\\\"Torque\\\" is a property of golf shafts that describes how much the shaft is prone to twisting during the golf swing.</p>\\n\",\"answers\":[\"<p>True</p>\\n\",\"<p>False</p>\\n\"]},{\"subContentId\":\"81f2e02c-0f04-44a3-922c-4eac61a11acb\",\"question\":\"<p>... A shaft with a _____ torque rating means the shaft better resists twisting; a shaft with a ____ torque rating means the shaft is more prone to twisting (all other things being equal).</p>\\n\",\"answers\":[\"<p>lower, higher</p>\\n\",\"<p>higher, lower</p>\\n\",\"<p>sharper, duller</p>\\n\",\"<p>straigher, curved</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"eadebb1e-891e-4ff3-8676-943c2616a9e0\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Untitled Single Choice Set\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Untitled Single Choice Set\"}},\"pause\":true,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"\"},{\"x\":46.87499999999999,\"y\":44.44444444444444,\"width\":10,\"height\":10,\"duration\":{\"from\":24.314,\"to\":34.314},\"libraryTitle\":\"Statements\",\"action\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"7bce98af-5267-4ca6-a08c-0c8f2bef5afb\",\"summary\":[\"Gear effect is the term used to explain how and why hitting the ball off-center changes the ball flight.\\n\",\"<p>Gear effect is the term used to explain how and why it is imprtant to adjust the pressure on the clubhead.</p>\\n\",\"<p>Gear effect is the term used to explain how and why it is imprtant to ride your bike to the course.</p>\\n\"],\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"3b954191-ad43-452c-95c3-868047eb55be\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Untitled Summary\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"}},\"label\":\"\"},{\"x\":46.87499999999999,\"y\":44.44444444444444,\"width\":10,\"height\":10,\"duration\":{\"from\":145.688,\"to\":155.688},\"libraryTitle\":\"Multiple Choice\",\"action\":{\"library\":\"H5P.MultiChoice 1.14\",\"params\":{\"media\":{\"type\":{\"params\":{}},\"disableImageZooming\":false},\"answers\":[{\"correct\":true,\"tipsAndFeedback\":{\"tip\":\"\",\"chosenFeedback\":\"\",\"notChosenFeedback\":\"\"},\"text\":\"<div>This pushes the ball to the right, causing a fade slice curved flight.</div>\\n\"},{\"correct\":false,\"tipsAndFeedback\":{\"tip\":\"\",\"chosenFeedback\":\"\",\"notChosenFeedback\":\"\"},\"text\":\"<div>This pushes the ball to the left, causing a <strong>slice</strong> curved flight.</div>\\n\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"enableRetry\":true,\"enableSolutionsButton\":true,\"enableCheckButton\":true,\"type\":\"auto\",\"singlePoint\":false,\"randomAnswers\":true,\"showSolutionsRequiresInput\":true,\"confirmCheckDialog\":false,\"confirmRetryDialog\":false,\"autoCheck\":false,\"passPercentage\":100,\"showScorePoints\":true},\"UI\":{\"checkAnswerButton\":\"Check\",\"showSolutionButton\":\"Show solution\",\"tryAgainButton\":\"Retry\",\"tipsLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"tipAvailable\":\"Tip available\",\"feedbackAvailable\":\"Feedback available\",\"readFeedback\":\"Read feedback\",\"wrongAnswer\":\"Wrong answer\",\"correctAnswer\":\"Correct answer\",\"shouldCheck\":\"Should have been checked\",\"shouldNotCheck\":\"Should not have been checked\",\"noInput\":\"Please answer before viewing the solution\"},\"confirmCheck\":{\"header\":\"Finish ?\",\"body\":\"Are you sure you wish to finish ?\",\"cancelLabel\":\"Cancel\",\"confirmLabel\":\"Finish\"},\"confirmRetry\":{\"header\":\"Retry ?\",\"body\":\"Are you sure you wish to retry ?\",\"cancelLabel\":\"Cancel\",\"confirmLabel\":\"Confirm\"},\"question\":\"<p>When a ball is spinning in a clockwise direction, there is high pressure on the left hand side of the ball, and low pressure on the right.</p>\\n\"},\"subContentId\":\"df5e99b0-6513-4aa9-a760-e3d9e2bfefe9\",\"metadata\":{\"contentType\":\"Multiple Choice\",\"license\":\"U\",\"title\":\"Untitled Multiple Choice\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Untitled Multiple Choice\"}},\"pause\":true,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"\"}],\"bookmarks\":[],\"endscreens\":[{\"time\":358,\"label\":\"5:58 Submit screen\"}]},\"summary\":{\"task\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"64506cb8-ea40-4c72-8c98-ed0bb3c3b808\",\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"b8eb5a4d-5e2e-4b74-95f5-ca37d1a45186\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Untitled Summary\"}},\"displayAt\":3}},\"override\":{\"autoplay\":true,\"loop\":false,\"showBookmarksmenuOnLoad\":false,\"showRewind10\":false,\"preventSkipping\":false,\"deactivateSound\":false,\"startVideoAt\":37},\"l10n\":{\"interaction\":\"Interaction\",\"play\":\"Play\",\"pause\":\"Pause\",\"mute\":\"Mute\",\"unmute\":\"Unmute\",\"quality\":\"Video Quality\",\"captions\":\"Captions\",\"close\":\"Close\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit Fullscreen\",\"summary\":\"Open summary dialog\",\"bookmarks\":\"Bookmarks\",\"endscreen\":\"Submit screen\",\"defaultAdaptivitySeekLabel\":\"Continue\",\"continueWithVideo\":\"Continue with video\",\"playbackRate\":\"Playback Rate\",\"rewind10\":\"Rewind 10 Seconds\",\"navDisabled\":\"Navigation is disabled\",\"sndDisabled\":\"Sound is disabled\",\"requiresCompletionWarning\":\"You need to answer all the questions correctly before continuing.\",\"back\":\"Back\",\"hours\":\"Hours\",\"minutes\":\"Minutes\",\"seconds\":\"Seconds\",\"currentTime\":\"Current time:\",\"totalTime\":\"Total time:\",\"singleInteractionAnnouncement\":\"Interaction appeared:\",\"multipleInteractionsAnnouncement\":\"Multiple interactions appeared.\",\"videoPausedAnnouncement\":\"Video is paused\",\"content\":\"Content\",\"answered\":\"@answered answered\",\"endcardTitle\":\"@answered Question(s) answered\",\"endcardInformation\":\"You have answered @answered questions, click below to submit your answers.\",\"endcardInformationNoAnswers\":\"You have not answered any questions.\",\"endcardInformationMustHaveAnswer\":\"You have to answer at least one question before you can submit your answers.\",\"endcardSubmitButton\":\"Submit Answers\",\"endcardSubmitMessage\":\"Your answers have been submitted!\",\"endcardTableRowAnswered\":\"Answered questions\",\"endcardTableRowScore\":\"Score\",\"endcardAnsweredScore\":\"answered\",\"endCardTableRowSummaryWithScore\":\"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\"endCardTableRowSummaryWithoutScore\":\"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\"}}",
"filtered": "{\"interactiveVideo\":{\"video\":{\"startScreenOptions\":{\"title\":\"Interactive Video\",\"hideStartTitle\":false},\"textTracks\":{\"videoTrack\":[{\"label\":\"Subtitles\",\"kind\":\"subtitles\",\"srcLang\":\"en\"}]},\"files\":[{\"path\":\"https://www.youtube.com/watch?v=FdH0JQL5E-U&list=PLVIShUJLAj0rWw3Yr3VtFGH4IbIVMfQFo\",\"mime\":\"video/YouTube\",\"copyright\":{\"license\":\"U\"}}]},\"assets\":{\"interactions\":[{\"x\":46.87499999999999,\"y\":44.44444444444444,\"width\":10,\"height\":10,\"duration\":{\"from\":52,\"to\":52},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"c9f0c83d-2ba2-4810-843a-1ee7bec2076f\",\"question\":\"<p>\\\"Torque\\\" is a property of golf shafts that describes how much the shaft is prone to twisting during the golf swing.</p>\\n\",\"answers\":[\"<p>True</p>\\n\",\"<p>False</p>\\n\"]},{\"subContentId\":\"81f2e02c-0f04-44a3-922c-4eac61a11acb\",\"question\":\"<p>... A shaft with a _____ torque rating means the shaft better resists twisting; a shaft with a ____ torque rating means the shaft is more prone to twisting (all other things being equal).</p>\\n\",\"answers\":[\"<p>lower, higher</p>\\n\",\"<p>higher, lower</p>\\n\",\"<p>sharper, duller</p>\\n\",\"<p>straigher, curved</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"eadebb1e-891e-4ff3-8676-943c2616a9e0\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Untitled Single Choice Set\"}},\"pause\":true,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"\"},{\"x\":46.87499999999999,\"y\":44.44444444444444,\"width\":10,\"height\":10,\"duration\":{\"from\":24.314,\"to\":34.314},\"libraryTitle\":\"Statements\",\"action\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"7bce98af-5267-4ca6-a08c-0c8f2bef5afb\",\"summary\":[\"Gear effect is the term used to explain how and why hitting the ball off-center changes the ball flight.\\n\",\"<p>Gear effect is the term used to explain how and why it is imprtant to adjust the pressure on the clubhead.</p>\\n\",\"<p>Gear effect is the term used to explain how and why it is imprtant to ride your bike to the course.</p>\\n\"],\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"3b954191-ad43-452c-95c3-868047eb55be\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"}},\"label\":\"\"},{\"x\":46.87499999999999,\"y\":44.44444444444444,\"width\":10,\"height\":10,\"duration\":{\"from\":145.688,\"to\":155.688},\"libraryTitle\":\"Multiple Choice\",\"action\":{\"library\":\"H5P.MultiChoice 1.14\",\"params\":{\"media\":{\"disableImageZooming\":false},\"answers\":[{\"correct\":true,\"tipsAndFeedback\":{\"tip\":\"\",\"chosenFeedback\":\"\",\"notChosenFeedback\":\"\"},\"text\":\"<div>This pushes the ball to the right, causing a fade slice curved flight.</div>\\n\"},{\"correct\":false,\"tipsAndFeedback\":{\"tip\":\"\",\"chosenFeedback\":\"\",\"notChosenFeedback\":\"\"},\"text\":\"<div>This pushes the ball to the left, causing a <strong>slice</strong> curved flight.</div>\\n\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"enableRetry\":true,\"enableSolutionsButton\":true,\"enableCheckButton\":true,\"type\":\"auto\",\"singlePoint\":false,\"randomAnswers\":true,\"showSolutionsRequiresInput\":true,\"confirmCheckDialog\":false,\"confirmRetryDialog\":false,\"autoCheck\":false,\"passPercentage\":100,\"showScorePoints\":true},\"UI\":{\"checkAnswerButton\":\"Check\",\"showSolutionButton\":\"Show solution\",\"tryAgainButton\":\"Retry\",\"tipsLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"tipAvailable\":\"Tip available\",\"feedbackAvailable\":\"Feedback available\",\"readFeedback\":\"Read feedback\",\"wrongAnswer\":\"Wrong answer\",\"correctAnswer\":\"Correct answer\",\"shouldCheck\":\"Should have been checked\",\"shouldNotCheck\":\"Should not have been checked\",\"noInput\":\"Please answer before viewing the solution\"},\"confirmCheck\":{\"header\":\"Finish ?\",\"body\":\"Are you sure you wish to finish ?\",\"cancelLabel\":\"Cancel\",\"confirmLabel\":\"Finish\"},\"confirmRetry\":{\"header\":\"Retry ?\",\"body\":\"Are you sure you wish to retry ?\",\"cancelLabel\":\"Cancel\",\"confirmLabel\":\"Confirm\"},\"question\":\"<p>When a ball is spinning in a clockwise direction, there is high pressure on the left hand side of the ball, and low pressure on the right.</p>\\n\"},\"subContentId\":\"df5e99b0-6513-4aa9-a760-e3d9e2bfefe9\",\"metadata\":{\"contentType\":\"Multiple Choice\",\"license\":\"U\",\"title\":\"Untitled Multiple Choice\"}},\"pause\":true,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"\"}],\"endscreens\":[{\"time\":358,\"label\":\"5:58 Submit screen\"}]},\"summary\":{\"task\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"64506cb8-ea40-4c72-8c98-ed0bb3c3b808\",\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"b8eb5a4d-5e2e-4b74-95f5-ca37d1a45186\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\"}},\"displayAt\":3}},\"override\":{\"autoplay\":true,\"loop\":false,\"showBookmarksmenuOnLoad\":false,\"showRewind10\":false,\"preventSkipping\":false,\"deactivateSound\":false,\"startVideoAt\":37},\"l10n\":{\"interaction\":\"Interaction\",\"play\":\"Play\",\"pause\":\"Pause\",\"mute\":\"Mute\",\"unmute\":\"Unmute\",\"quality\":\"Video Quality\",\"captions\":\"Captions\",\"close\":\"Close\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit Fullscreen\",\"summary\":\"Open summary dialog\",\"bookmarks\":\"Bookmarks\",\"endscreen\":\"Submit screen\",\"defaultAdaptivitySeekLabel\":\"Continue\",\"continueWithVideo\":\"Continue with video\",\"playbackRate\":\"Playback Rate\",\"rewind10\":\"Rewind 10 Seconds\",\"navDisabled\":\"Navigation is disabled\",\"sndDisabled\":\"Sound is disabled\",\"requiresCompletionWarning\":\"You need to answer all the questions correctly before continuing.\",\"back\":\"Back\",\"hours\":\"Hours\",\"minutes\":\"Minutes\",\"seconds\":\"Seconds\",\"currentTime\":\"Current time:\",\"totalTime\":\"Total time:\",\"singleInteractionAnnouncement\":\"Interaction appeared:\",\"multipleInteractionsAnnouncement\":\"Multiple interactions appeared.\",\"videoPausedAnnouncement\":\"Video is paused\",\"content\":\"Content\",\"answered\":\"@answered answered\",\"endcardTitle\":\"@answered Question(s) answered\",\"endcardInformation\":\"You have answered @answered questions, click below to submit your answers.\",\"endcardInformationNoAnswers\":\"You have not answered any questions.\",\"endcardInformationMustHaveAnswer\":\"You have to answer at least one question before you can submit your answers.\",\"endcardSubmitButton\":\"Submit Answers\",\"endcardSubmitMessage\":\"Your answers have been submitted!\",\"endcardTableRowAnswered\":\"Answered questions\",\"endcardTableRowScore\":\"Score\",\"endcardAnsweredScore\":\"answered\",\"endCardTableRowSummaryWithScore\":\"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\"endCardTableRowSummaryWithoutScore\":\"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\"}}",
"slug": "understanding-gear-effect-equipment-and-tech-18birdies",
"embed_type": "div",
"disable": 9,
"content_type": null,
"authors": null,
"source": null,
"year_from": null,
"year_to": null,
"license": "U",
"license_version": null,
"license_extras": null,
"author_comments": null,
"changes": null,
"default_language": null
},
"is_public": false,
"created_at": null,
"updated_at": null
},
{
"id": 5,
"playlist_id": 1,
"title": "The Evolution of the Golf Ball",
"type": "h5p",
"content": "",
"shared": false,
"order": 5,
"thumb_url": null,
"subject_id": null,
"education_level_id": null,
"h5p_content": {
"id": 66,
"created_at": "2020-04-30T23:58:44.000000Z",
"updated_at": "2020-04-30T23:58:44.000000Z",
"user_id": 1,
"title": "The Evolution of the Golf Ball",
"library_id": 61,
"parameters": "{\"timeline\":{\"defaultZoomLevel\":\"0\",\"height\":600,\"asset\":{},\"date\":[{\"asset\":{\"thumbnail\":{\"path\":\"images/thumbnail-5eab648fb61c9.jpeg#tmp\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":234,\"height\":216}},\"startDate\":\"1400\",\"endDate\":\"2020\",\"headline\":\"Origins of Golf\",\"text\":\"<p>Golf is recorded in its first recognizable form in the Eastern Coast of Scotland.</p>\\n\"},{\"asset\":{\"thumbnail\":{\"path\":\"images/thumbnail-5eab64e26de00.jpg#tmp\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":475,\"height\":222}},\"startDate\":\"1600\",\"headline\":\"Wood Golf Balls\",\"text\":\"<p>The first known golf ball was made out of wood, most likely beech, boxroot and similar hardwoods. Wooden clubs were the golf club of choice, which in conjunction with the wood balls would have made your friendly game of golf a rather jarring experience.</p>\\n\"},{\"asset\":{\"thumbnail\":{\"path\":\"images/thumbnail-5eab652f19393.png#tmp\",\"mime\":\"image/png\",\"copyright\":{\"license\":\"U\"},\"width\":1128,\"height\":1096}},\"startDate\":\"1618\",\"headline\":\"Feathery Golf Balls\",\"text\":\"<p>The first \\\"real\\\" golf ball was known as a \\\"feathery\\\"golf ball. Basically, the feathery was a leather sack filled with boiled goose feathers, then stitched up and painted. Feathery golf balls were expensive to make easily damaged and only the privileged few could afford to use them. </p>\\n\\n<p>It was made of cow or horsehide which was stuffed with feathers; most often goose feather. The leather, in order to be easier to work with, was soaked in water. The feathers that were forced into the ball by using a specially designed crutch-handled filling rod were soaked as well. </p>\\n\\n<p>After the ball was carefully hand sewn together, it was left to dry. While the leather shrank, the feathers expanded, which made the ball very hard and compact. </p>\\n\\n<p>Interestingly, the featherie also had excellent flight characteristics as it could reach a distance of up to 175 yards; although the longest recorded distance is more than 361 yards.<br>\\n </p>\\n\"},{\"asset\":{\"thumbnail\":{\"path\":\"images/thumbnail-5eab658fa6bde.jpg#tmp\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":1350,\"height\":759},\"media\":\"https://images.app.goo.gl/MFHFL1dtDiyR5nGq7\"},\"startDate\":\"1848\",\"headline\":\"Cost of Golf Balls\",\"text\":\"<p>In the mid-19th century, most people could only dream of playing golf. There were at the time fewer than 20 golf clubs around the world, with just three being outside Scotland. But that was not the only thing that prevented most people from playing golf. The high cost of golf essentials, especially of golf balls, made the game pretty much inaccessible to ordinary people.31 But that was soon about to change...<br>\\n </p>\\n\"},{\"asset\":{\"thumbnail\":{\"path\":\"images/thumbnail-5eab65cbe1adb.png#tmp\",\"mime\":\"image/png\",\"copyright\":{\"license\":\"U\"},\"width\":944,\"height\":890}},\"startDate\":\"1848\",\"endDate\":\"1890\",\"headline\":\"Gutty Golf Balls\",\"text\":\"<p>It wasn't until 1848 that Rev. Dr. Robert Adams began creating golf balls out of Gutta Percha \\\"Gutty\\\". The Gutty golf ball was created from the dried sap of the Sapodilla tree. It had a rubber-like feel and was formed into ball shapes by heating it up and shaping it while hot. </p>\\n\\n<p>The arrival of the gutta percha ball or \\\"gutty\\\", as it was called, revolutionized the game of golf and allowed its spread to the masses due to its affordability, playability and durability.</p>\\n\"},{\"asset\":{},\"startDate\":\"1899\",\"headline\":\"Hand Hammered Gutta Ball\",\"text\":\"<p>American businessman and inventor Coburn Haskell (1868-1922) got a (joint) patent from the United States Patent Office for the rubber-wound ball47 which would soon lead to another revolution in golf. Widely regarded as the first modern golf ball, Haskell\\u2019s ball was made of a solid rubber-wound core that was covered by guttapercha.</p>\\n\"}],\"language\":\"en\",\"headline\":\"The Evolution of the Golf Ball\",\"text\":\"<div>A golf ball is central to the game of golf. In fact, golf is all about the ball. Well, getting it into the hole in the ground!</div>\\n\",\"backgroundImage\":{\"path\":\"images/backgroundImage-5eab633e2e935.jpg#tmp\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":2139,\"height\":1179}}}",
"filtered": "{\"timeline\":{\"defaultZoomLevel\":\"0\",\"height\":600,\"asset\":{},\"date\":[{\"asset\":{\"thumbnail\":{\"path\":\"images/thumbnail-5eab648fb61c9.jpeg\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":234,\"height\":216}},\"startDate\":\"1400\",\"endDate\":\"2020\",\"headline\":\"Origins of Golf\",\"text\":\"<p>Golf is recorded in its first recognizable form in the Eastern Coast of Scotland.</p>\\n\"},{\"asset\":{\"thumbnail\":{\"path\":\"images/thumbnail-5eab64e26de00.jpg\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":475,\"height\":222}},\"startDate\":\"1600\",\"headline\":\"Wood Golf Balls\",\"text\":\"<p>The first known golf ball was made out of wood, most likely beech, boxroot and similar hardwoods. Wooden clubs were the golf club of choice, which in conjunction with the wood balls would have made your friendly game of golf a rather jarring experience.</p>\\n\"},{\"asset\":{\"thumbnail\":{\"path\":\"images/thumbnail-5eab652f19393.png\",\"mime\":\"image/png\",\"copyright\":{\"license\":\"U\"},\"width\":1128,\"height\":1096}},\"startDate\":\"1618\",\"headline\":\"Feathery Golf Balls\",\"text\":\"<p>The first \\\"real\\\" golf ball was known as a \\\"feathery\\\"golf ball. Basically, the feathery was a leather sack filled with boiled goose feathers, then stitched up and painted. Feathery golf balls were expensive to make easily damaged and only the privileged few could afford to use them. </p>\\n\\n<p>It was made of cow or horsehide which was stuffed with feathers; most often goose feather. The leather, in order to be easier to work with, was soaked in water. The feathers that were forced into the ball by using a specially designed crutch-handled filling rod were soaked as well. </p>\\n\\n<p>After the ball was carefully hand sewn together, it was left to dry. While the leather shrank, the feathers expanded, which made the ball very hard and compact. </p>\\n\\n<p>Interestingly, the featherie also had excellent flight characteristics as it could reach a distance of up to 175 yards; although the longest recorded distance is more than 361 yards.<br>\\n </p>\\n\"},{\"asset\":{\"thumbnail\":{\"path\":\"images/thumbnail-5eab658fa6bde.jpg\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":1350,\"height\":759},\"media\":\"https://images.app.goo.gl/MFHFL1dtDiyR5nGq7\"},\"startDate\":\"1848\",\"headline\":\"Cost of Golf Balls\",\"text\":\"<p>In the mid-19th century, most people could only dream of playing golf. There were at the time fewer than 20 golf clubs around the world, with just three being outside Scotland. But that was not the only thing that prevented most people from playing golf. The high cost of golf essentials, especially of golf balls, made the game pretty much inaccessible to ordinary people.31 But that was soon about to change...<br>\\n </p>\\n\"},{\"asset\":{\"thumbnail\":{\"path\":\"images/thumbnail-5eab65cbe1adb.png\",\"mime\":\"image/png\",\"copyright\":{\"license\":\"U\"},\"width\":944,\"height\":890}},\"startDate\":\"1848\",\"endDate\":\"1890\",\"headline\":\"Gutty Golf Balls\",\"text\":\"<p>It wasn't until 1848 that Rev. Dr. Robert Adams began creating golf balls out of Gutta Percha \\\"Gutty\\\". The Gutty golf ball was created from the dried sap of the Sapodilla tree. It had a rubber-like feel and was formed into ball shapes by heating it up and shaping it while hot. </p>\\n\\n<p>The arrival of the gutta percha ball or \\\"gutty\\\", as it was called, revolutionized the game of golf and allowed its spread to the masses due to its affordability, playability and durability.</p>\\n\"},{\"asset\":{},\"startDate\":\"1899\",\"headline\":\"Hand Hammered Gutta Ball\",\"text\":\"<p>American businessman and inventor Coburn Haskell (1868-1922) got a (joint) patent from the United States Patent Office for the rubber-wound ball47 which would soon lead to another revolution in golf. Widely regarded as the first modern golf ball, Haskell\\u2019s ball was made of a solid rubber-wound core that was covered by guttapercha.</p>\\n\"}],\"language\":\"en\",\"headline\":\"The Evolution of the Golf Ball\",\"text\":\"<div>A golf ball is central to the game of golf. In fact, golf is all about the ball. Well, getting it into the hole in the ground!</div>\\n\",\"backgroundImage\":{\"path\":\"images/backgroundImage-5eab633e2e935.jpg\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":2139,\"height\":1179}}}",
"slug": "the-evolution-of-the-golf-ball",
"embed_type": "div",
"disable": 9,
"content_type": null,
"authors": null,
"source": null,
"year_from": null,
"year_to": null,
"license": "U",
"license_version": null,
"license_extras": null,
"author_comments": null,
"changes": null,
"default_language": null
},
"is_public": false,
"created_at": null,
"updated_at": null
},
{
"id": 7,
"playlist_id": 1,
"title": "Famous Golf Holes",
"type": "h5p",
"content": "",
"shared": false,
"order": 6,
"thumb_url": null,
"subject_id": null,
"education_level_id": null,
"h5p_content": {
"id": 76,
"created_at": "2020-05-01T05:20:54.000000Z",
"updated_at": "2020-05-01T05:20:54.000000Z",
"user_id": 1,
"title": "Famous Golf Holes",
"library_id": 60,
"parameters": "{\"cards\":[{\"answer\":\"7th Hole at Pebble Beach\",\"image\":{\"path\":\"images/image-5eabad2e71b62.jpg#tmp\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":991,\"height\":500},\"tip\":\"<p>Mickey Mantle<br>\\nAT&T Pro Am</p>\\n\"},{\"answer\":\"12th hole at Augusta National\",\"image\":{\"path\":\"images/image-5eabae675c197.jpg#tmp\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":847,\"height\":467},\"tip\":\"\"},{\"answer\":\"7th hole at TPC Sawgrass\",\"image\":{\"path\":\"images/image-5eabaec199254.jpg#tmp\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":1024,\"height\":570},\"tip\":\"\"},{\"answer\":\"The Old Course at St Andrews, #18\",\"image\":{\"path\":\"images/image-5eabafb2400f7.jpg#tmp\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":475,\"height\":367},\"tip\":\"\"},{\"answer\":\"Pine Valley Golf Club, #18\",\"image\":{\"path\":\"images/image-5eabb0ced23c3.jpg#tmp\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":960,\"height\":640},\"tip\":\"\"},{\"answer\":\"Celebrity Course - Indian Wells Golf Resort, #14\",\"image\":{\"path\":\"images/image-5eabb17c9a715.jpg#tmp\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":780,\"height\":490},\"tip\":\"\"}],\"progressText\":\"Card @card of @total\",\"next\":\"Next\",\"previous\":\"Previous\",\"checkAnswerText\":\"Check\",\"showSolutionsRequiresInput\":true,\"defaultAnswerText\":\"Your answer\",\"correctAnswerText\":\"Correct\",\"incorrectAnswerText\":\"Incorrect\",\"showSolutionText\":\"Correct answer\",\"results\":\"Results\",\"ofCorrect\":\"@score of @total correct\",\"showResults\":\"Show results\",\"answerShortText\":\"A:\",\"retry\":\"Retry\",\"caseSensitive\":false,\"cardAnnouncement\":\"Incorrect answer. Correct answer was @answer\",\"pageAnnouncement\":\"Page @current of @total\",\"description\":\"Match the Hole with the Course\"}",
"filtered": "{\"cards\":[{\"answer\":\"7th Hole at Pebble Beach\",\"image\":{\"path\":\"images/image-5eabad2e71b62.jpg\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":991,\"height\":500},\"tip\":\"<p>Mickey Mantle<br>\\nAT&T Pro Am</p>\\n\"},{\"answer\":\"12th hole at Augusta National\",\"image\":{\"path\":\"images/image-5eabae675c197.jpg\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":847,\"height\":467},\"tip\":\"\"},{\"answer\":\"7th hole at TPC Sawgrass\",\"image\":{\"path\":\"images/image-5eabaec199254.jpg\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":1024,\"height\":570},\"tip\":\"\"},{\"answer\":\"The Old Course at St Andrews, #18\",\"image\":{\"path\":\"images/image-5eabafb2400f7.jpg\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":475,\"height\":367},\"tip\":\"\"},{\"answer\":\"Pine Valley Golf Club, #18\",\"image\":{\"path\":\"images/image-5eabb0ced23c3.jpg\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":960,\"height\":640},\"tip\":\"\"},{\"answer\":\"Celebrity Course - Indian Wells Golf Resort, #14\",\"image\":{\"path\":\"images/image-5eabb17c9a715.jpg\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":780,\"height\":490},\"tip\":\"\"}],\"progressText\":\"Card @card of @total\",\"next\":\"Next\",\"previous\":\"Previous\",\"checkAnswerText\":\"Check\",\"showSolutionsRequiresInput\":true,\"defaultAnswerText\":\"Your answer\",\"correctAnswerText\":\"Correct\",\"incorrectAnswerText\":\"Incorrect\",\"showSolutionText\":\"Correct answer\",\"results\":\"Results\",\"ofCorrect\":\"@score of @total correct\",\"showResults\":\"Show results\",\"answerShortText\":\"A:\",\"retry\":\"Retry\",\"caseSensitive\":false,\"cardAnnouncement\":\"Incorrect answer. Correct answer was @answer\",\"pageAnnouncement\":\"Page @current of @total\",\"description\":\"Match the Hole with the Course\"}",
"slug": "famous-golf-holes",
"embed_type": "div",
"disable": 9,
"content_type": null,
"authors": null,
"source": null,
"year_from": null,
"year_to": null,
"license": "U",
"license_version": null,
"license_extras": null,
"author_comments": null,
"changes": null,
"default_language": null
},
"is_public": false,
"created_at": null,
"updated_at": null
}
],
"created_at": null,
"updated_at": null
}
}
Received response:
Request failed with error:
16. XAPI Cron
Cron job for XAPI extract
xAPI extract job script
Runs the xAPI extract job script
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/xapi-extract" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/xapi-extract"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/xapi-extract',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (500):
Show headers
cache-control: no-cache, private
content-type: application/json
{
"message": "SQLSTATE[08006] [7] fe_sendauth: no password supplied (SQL: select * where \"voided\" = 0 and \"id\" > 0 order by \"id\" asc offset 0)",
"exception": "Illuminate\\Database\\QueryException",
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Database\\Connection.php",
"line": 712,
"trace": [
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Database\\Connection.php",
"line": 672,
"function": "runQueryCallback",
"class": "Illuminate\\Database\\Connection",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Database\\Connection.php",
"line": 376,
"function": "run",
"class": "Illuminate\\Database\\Connection",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Database\\Query\\Builder.php",
"line": 2414,
"function": "select",
"class": "Illuminate\\Database\\Connection",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Database\\Query\\Builder.php",
"line": 2402,
"function": "runSelect",
"class": "Illuminate\\Database\\Query\\Builder",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Database\\Query\\Builder.php",
"line": 2936,
"function": "Illuminate\\Database\\Query\\{closure}",
"class": "Illuminate\\Database\\Query\\Builder",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Database\\Query\\Builder.php",
"line": 2403,
"function": "onceWithColumns",
"class": "Illuminate\\Database\\Query\\Builder",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\app\\Http\\Controllers\\Api\\V1\\CurrikiGo\\ExtractXAPIJSONController.php",
"line": 54,
"function": "get",
"class": "Illuminate\\Database\\Query\\Builder",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Controller.php",
"line": 54,
"function": "runJob",
"class": "App\\Http\\Controllers\\Api\\V1\\CurrikiGo\\ExtractXAPIJSONController",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\ControllerDispatcher.php",
"line": 45,
"function": "callAction",
"class": "Illuminate\\Routing\\Controller",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Route.php",
"line": 262,
"function": "dispatch",
"class": "Illuminate\\Routing\\ControllerDispatcher",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Route.php",
"line": 205,
"function": "runController",
"class": "Illuminate\\Routing\\Route",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 721,
"function": "run",
"class": "Illuminate\\Routing\\Route",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 128,
"function": "Illuminate\\Routing\\{closure}",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Middleware\\SubstituteBindings.php",
"line": 50,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Routing\\Middleware\\SubstituteBindings",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 103,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 723,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 698,
"function": "runRouteWithinStack",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 662,
"function": "runRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 651,
"function": "dispatchToRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 167,
"function": "dispatch",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 128,
"function": "Illuminate\\Foundation\\Http\\{closure}",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull.php",
"line": 31,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TrimStrings.php",
"line": 40,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TrimStrings",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize.php",
"line": 27,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance.php",
"line": 86,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\app\\Http\\Middleware\\Cors.php",
"line": 40,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "App\\Http\\Middleware\\Cors",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\fideloper\\proxy\\src\\TrustProxies.php",
"line": 57,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Fideloper\\Proxy\\TrustProxies",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 103,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 142,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 111,
"function": "sendRequestThroughRouter",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 299,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 287,
"function": "callLaravelOrLumenRoute",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 89,
"function": "makeApiCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 45,
"function": "makeResponseCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 35,
"function": "makeResponseCallIfConditionsPass",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 222,
"function": "__invoke",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 179,
"function": "iterateThroughStrategies",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 116,
"function": "fetchResponses",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 123,
"function": "processRoute",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 80,
"function": "extractEndpointsInfoFromLaravelApp",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 56,
"function": "extractEndpointsInfoAndWriteToDisk",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Commands\\GenerateDocumentation.php",
"line": 55,
"function": "get",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 36,
"function": "handle",
"class": "Knuckles\\Scribe\\Commands\\GenerateDocumentation",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Util.php",
"line": 40,
"function": "Illuminate\\Container\\{closure}",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 93,
"function": "unwrapIfClosure",
"class": "Illuminate\\Container\\Util",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 37,
"function": "callBoundMethod",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 653,
"function": "call",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
"line": 136,
"function": "call",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Command\\Command.php",
"line": 298,
"function": "execute",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
"line": 121,
"function": "run",
"class": "Symfony\\Component\\Console\\Command\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 1040,
"function": "run",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 301,
"function": "doRunCommand",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 171,
"function": "doRun",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Application.php",
"line": 94,
"function": "run",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Console\\Kernel.php",
"line": 129,
"function": "run",
"class": "Illuminate\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\artisan",
"line": 37,
"function": "handle",
"class": "Illuminate\\Foundation\\Console\\Kernel",
"type": "->"
}
]
}
Received response:
Request failed with error:
17. Organization Permission Type API
APIs for Organization Permission Types
Get All Organization Permission Type
requires authentication
Get a list of the organization permission type.
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/permissions" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"query\": \"edit\"
}"
const url = new URL(
"http://localhost:8000/api/v1/permissions"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"query": "edit"
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/permissions',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'query' => 'edit',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": [
{
"id": 25,
"name": "activity:edit",
"display_name": "Edit Activity",
"feature": "Activity"
},
{
"id": 43,
"name": "group:edit",
"display_name": "Edit Group",
"feature": "Group"
},
{
"id": 1,
"name": "organization:edit",
"display_name": "Edit Organization",
"feature": "Organization"
},
{
"id": 19,
"name": "playlist:edit",
"display_name": "Edit Playlist",
"feature": "Playlist"
},
{
"id": 10,
"name": "project:edit",
"display_name": "Edit Project",
"feature": "Project"
},
{
"id": 31,
"name": "team:edit",
"display_name": "Edit Team",
"feature": "Team"
},
{
"id": 57,
"name": "user:edit",
"display_name": "Edit User",
"feature": "User"
}
]
}
Received response:
Request failed with error:
18. Organization API
APIs for Organization
Get By Domain
Get organization by domain
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/organization/get-by-domain" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"domain\": \"curriki\"
}"
const url = new URL(
"http://localhost:8000/api/v1/organization/get-by-domain"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"domain": "curriki"
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/organization/get-by-domain',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'domain' => 'curriki',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"domain": [
"The selected domain is invalid."
]
}
}
Example response (200):
{
"organization": {
"id": 16,
"name": "nassau",
"description": "nassau",
"image": "/storage/organizations/PlPVBtEVfKEU8PBI1eknYgW3kjIf5YdpILBS0Yyr.png",
"favicon": "/storage/organizations/favicon/PlPVBtEVfKEU8PBI1eknYgW3kjIf5YdpILBS0Yyr.png",
"domain": "nassau"
}
}
Received response:
Request failed with error:
Search organization
Search organization by name
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/organizations/search" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"query\": \"curriki\"
}"
const url = new URL(
"http://localhost:8000/api/v1/organizations/search"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"query": "curriki"
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/organizations/search',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'query' => 'curriki',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (500):
Show headers
cache-control: no-cache, private
content-type: application/json
{
"message": "Unable to read key from file file://D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\storage\\oauth-public.key",
"exception": "LogicException",
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\league\\oauth2-server\\src\\CryptKey.php",
"line": 67,
"trace": [
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\passport\\src\\PassportServiceProvider.php",
"line": 275,
"function": "__construct",
"class": "League\\OAuth2\\Server\\CryptKey",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\passport\\src\\PassportServiceProvider.php",
"line": 256,
"function": "makeCryptKey",
"class": "Laravel\\Passport\\PassportServiceProvider",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 873,
"function": "Laravel\\Passport\\{closure}",
"class": "Laravel\\Passport\\PassportServiceProvider",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 758,
"function": "build",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Application.php",
"line": 851,
"function": "resolve",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 694,
"function": "resolve",
"class": "Illuminate\\Foundation\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Application.php",
"line": 836,
"function": "make",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\passport\\src\\PassportServiceProvider.php",
"line": 304,
"function": "make",
"class": "Illuminate\\Foundation\\Application",
"type": "->"
},
{
"function": "Laravel\\Passport\\{closure}",
"class": "Laravel\\Passport\\PassportServiceProvider",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\RequestGuard.php",
"line": 58,
"function": "call_user_func"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\GuardHelpers.php",
"line": 60,
"function": "user",
"class": "Illuminate\\Auth\\RequestGuard",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\Middleware\\Authenticate.php",
"line": 63,
"function": "check",
"class": "Illuminate\\Auth\\RequestGuard",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\Middleware\\Authenticate.php",
"line": 42,
"function": "authenticate",
"class": "Illuminate\\Auth\\Middleware\\Authenticate",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Auth\\Middleware\\Authenticate",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 103,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 723,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 698,
"function": "runRouteWithinStack",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 662,
"function": "runRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 651,
"function": "dispatchToRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 167,
"function": "dispatch",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 128,
"function": "Illuminate\\Foundation\\Http\\{closure}",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull.php",
"line": 31,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TrimStrings.php",
"line": 40,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TrimStrings",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize.php",
"line": 27,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance.php",
"line": 86,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\app\\Http\\Middleware\\Cors.php",
"line": 40,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "App\\Http\\Middleware\\Cors",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\fideloper\\proxy\\src\\TrustProxies.php",
"line": 57,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Fideloper\\Proxy\\TrustProxies",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 103,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 142,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 111,
"function": "sendRequestThroughRouter",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 299,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 287,
"function": "callLaravelOrLumenRoute",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 89,
"function": "makeApiCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 45,
"function": "makeResponseCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 35,
"function": "makeResponseCallIfConditionsPass",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 222,
"function": "__invoke",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 179,
"function": "iterateThroughStrategies",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 116,
"function": "fetchResponses",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 123,
"function": "processRoute",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 80,
"function": "extractEndpointsInfoFromLaravelApp",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 56,
"function": "extractEndpointsInfoAndWriteToDisk",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Commands\\GenerateDocumentation.php",
"line": 55,
"function": "get",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 36,
"function": "handle",
"class": "Knuckles\\Scribe\\Commands\\GenerateDocumentation",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Util.php",
"line": 40,
"function": "Illuminate\\Container\\{closure}",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 93,
"function": "unwrapIfClosure",
"class": "Illuminate\\Container\\Util",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 37,
"function": "callBoundMethod",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 653,
"function": "call",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
"line": 136,
"function": "call",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Command\\Command.php",
"line": 298,
"function": "execute",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
"line": 121,
"function": "run",
"class": "Symfony\\Component\\Console\\Command\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 1040,
"function": "run",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 301,
"function": "doRunCommand",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 171,
"function": "doRun",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Application.php",
"line": 94,
"function": "run",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Console\\Kernel.php",
"line": 129,
"function": "run",
"class": "Illuminate\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\artisan",
"line": 37,
"function": "handle",
"class": "Illuminate\\Foundation\\Console\\Kernel",
"type": "->"
}
]
}
Received response:
Request failed with error:
19. Suborganization API
APIs for Suborganization
User has permission
requires authentication
Check if user has the specified permission in the provided organization.
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/suborganizations/1/user-has-permission" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"permission\": \"organization:view\"
}"
const url = new URL(
"http://localhost:8000/api/v1/suborganizations/1/user-has-permission"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"permission": "organization:view"
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/suborganizations/1/user-has-permission',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'permission' => 'organization:view',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"userHasPermission": true
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"permission": [
"The permission field is required."
]
}
}
Received response:
Request failed with error:
Get User Permissions
requires authentication
Get the logged-in user's permissions in the suborganization.
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/suborganizations/1/permissions" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/suborganizations/1/permissions"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/suborganizations/1/permissions',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"permissions": {
"activeRole": "non_editing_teacher",
"roleId": 4,
"Project": [
"project:view"
],
"Playlist": [
"playlist:view"
],
"Activity": [
"activity:view"
]
}
}
Received response:
Request failed with error:
Get Default Permissions
requires authentication
Get the all default permissions in the suborganization.
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/suborganizations/1/default-permissions" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/suborganizations/1/default-permissions"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/suborganizations/1/default-permissions',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"permissions": {
"activeRole": "non_editing_teacher",
"roleId": 4,
"Project": [
"project:view"
],
"Playlist": [
"playlist:view"
],
"Activity": [
"activity:view"
]
}
}
Received response:
Request failed with error:
Add Suborganization Role
requires authentication
Add role for the specified suborganization
Example request:
curl --request POST \
"http://localhost:8000/api/v1/suborganizations/1/add-role" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"member\",
\"display_name\": \"Member\",
\"permissions\": [
1,
2
]
}"
const url = new URL(
"http://localhost:8000/api/v1/suborganizations/1/add-role"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "member",
"display_name": "Member",
"permissions": [
1,
2
]
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/suborganizations/1/add-role',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'name' => 'member',
'display_name' => 'Member',
'permissions' => [
1,
2,
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "Role has been added successfully."
}
Example response (500):
{
"errors": [
"Failed to add role."
]
}
Received response:
Request failed with error:
Add Suborganization Role With UI Permissions
requires authentication
Add role for the specified suborganization with UI permissions
Example request:
curl --request POST \
"http://localhost:8000/api/v1/suborganizations/1/add-role-ui-permissions" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"member\",
\"display_name\": \"Member\",
\"permissions\": [
1,
2
]
}"
const url = new URL(
"http://localhost:8000/api/v1/suborganizations/1/add-role-ui-permissions"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "member",
"display_name": "Member",
"permissions": [
1,
2
]
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/suborganizations/1/add-role-ui-permissions',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'name' => 'member',
'display_name' => 'Member',
'permissions' => [
1,
2,
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "Role has been added successfully."
}
Example response (500):
{
"errors": [
"Failed to add role."
]
}
Received response:
Request failed with error:
Update Suborganization Role
requires authentication
Update role for the specified suborganization
Example request:
curl --request PUT \
"http://localhost:8000/api/v1/suborganizations/1/update-role" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"role_id\": 1,
\"permissions\": [
1,
2
]
}"
const url = new URL(
"http://localhost:8000/api/v1/suborganizations/1/update-role"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"role_id": 1,
"permissions": [
1,
2
]
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->put(
'http://localhost:8000/api/v1/suborganizations/1/update-role',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'role_id' => 1,
'permissions' => [
1,
2,
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "Role has been updated successfully."
}
Example response (500):
{
"errors": [
"Failed to update role."
]
}
Received response:
Request failed with error:
Get Visibility Types For Suborganization
requires authentication
Get a list of the visibility types for suborganization.
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/suborganizations/visibility-types" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/suborganizations/visibility-types"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/suborganizations/visibility-types',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": [
{
"id": 1,
"name": "private",
"display_name": "Private"
},
{
"id": 2,
"name": "protected",
"display_name": "Protected"
},
{
"id": 3,
"name": "global",
"display_name": "Global"
},
{
"id": 4,
"name": "public",
"display_name": "Public"
}
]
}
Received response:
Request failed with error:
Get User Roles For Suborganization
requires authentication
Get a list of the users roles for suborganization.
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/suborganizations/1/roles" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/suborganizations/1/roles"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/suborganizations/1/roles',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": [
{
"id": 1,
"name": "admin",
"display_name": "Administrator"
},
{
"id": 3,
"name": "member",
"display_name": "Member"
},
{
"id": 2,
"name": "course_creator",
"display_name": "Course Creator"
}
]
}
Received response:
Request failed with error:
Get User Role detail For Suborganization
requires authentication
Get detail of the user role for suborganization.
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/suborganizations/1/role/hic" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/suborganizations/1/role/hic"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/suborganizations/1/role/hic',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": [
{
"id": 1,
"name": "admin",
"display_name": "Administrator"
},
{
"id": 3,
"name": "member",
"display_name": "Member"
},
{
"id": 2,
"name": "course_creator",
"display_name": "Course Creator"
}
]
}
Received response:
Request failed with error:
Get User Role UI Permissions For Suborganization
requires authentication
Get detail of the user role UI permissions for suborganization.
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/suborganizations/1/role/1/permissions" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/suborganizations/1/role/1/permissions"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/suborganizations/1/role/1/permissions',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": [
{
"title": "Organiziations",
"ui_sub_modules": [
{
"title": "Organiziation",
"ui_module_permissions": [
{
"id": 1,
"title": "View",
"selected": false
},
{
"id": 2,
"title": "Edit",
"selected": false
},
{
"id": 3,
"title": "None",
"selected": false
}
]
}
]
},
{
"title": "Projects",
"ui_sub_modules": [
{
"title": "All Projects",
"ui_module_permissions": [
{
"id": 4,
"title": "View",
"selected": false
},
{
"id": 5,
"title": "Edit",
"selected": true
},
{
"id": 6,
"title": "None",
"selected": false
}
]
},
{
"title": "Import/Export Projects",
"ui_module_permissions": [
{
"id": 7,
"title": "View",
"selected": false
},
{
"id": 8,
"title": "Edit",
"selected": false
},
{
"id": 9,
"title": "None",
"selected": false
}
]
}
]
},
{
"title": "Ref. Tables",
"ui_sub_modules": [
{
"title": "Activity Types",
"ui_module_permissions": [
{
"id": 10,
"title": "View",
"selected": false
},
{
"id": 11,
"title": "Edit",
"selected": false
},
{
"id": 12,
"title": "None",
"selected": false
}
]
},
{
"title": "Activity Items",
"ui_module_permissions": [
{
"id": 13,
"title": "View",
"selected": false
},
{
"id": 14,
"title": "Edit",
"selected": false
},
{
"id": 15,
"title": "None",
"selected": false
}
]
}
]
},
{
"title": "Integrations",
"ui_sub_modules": [
{
"title": "LMS Settings",
"ui_module_permissions": [
{
"id": 16,
"title": "View",
"selected": false
},
{
"id": 17,
"title": "Edit",
"selected": false
},
{
"id": 18,
"title": "None",
"selected": false
}
]
},
{
"title": "LTI Tools",
"ui_module_permissions": [
{
"id": 19,
"title": "View",
"selected": false
},
{
"id": 20,
"title": "Edit",
"selected": false
},
{
"id": 21,
"title": "None",
"selected": false
}
]
},
{
"title": "BrightCove",
"ui_module_permissions": [
{
"id": 22,
"title": "View",
"selected": false
},
{
"id": 23,
"title": "Edit",
"selected": false
},
{
"id": 24,
"title": "None",
"selected": false
}
]
}
]
},
{
"title": "Users",
"ui_sub_modules": [
{
"title": "Manage Users",
"ui_module_permissions": [
{
"id": 25,
"title": "View",
"selected": false
},
{
"id": 26,
"title": "Edit",
"selected": false
},
{
"id": 27,
"title": "None",
"selected": false
}
]
},
{
"title": "Manage Roles",
"ui_module_permissions": [
{
"id": 28,
"title": "View",
"selected": false
},
{
"id": 29,
"title": "Edit",
"selected": false
},
{
"id": 30,
"title": "None",
"selected": false
}
]
}
]
},
{
"title": "Independent Activities",
"ui_sub_modules": [
{
"title": "All Independent Activities",
"ui_module_permissions": [
{
"id": 31,
"title": "View",
"selected": false
},
{
"id": 32,
"title": "Edit",
"selected": false
},
{
"id": 33,
"title": "None",
"selected": false
}
]
},
{
"title": "Export/Import Activities",
"ui_module_permissions": [
{
"id": 34,
"title": "View",
"selected": false
},
{
"id": 35,
"title": "Edit",
"selected": false
},
{
"id": 36,
"title": "None",
"selected": false
}
]
}
]
},
{
"title": "Authoring",
"ui_sub_modules": [
{
"title": "Project",
"ui_module_permissions": [
{
"id": 37,
"title": "View",
"selected": false
},
{
"id": 38,
"title": "Edit",
"selected": false
},
{
"id": 39,
"title": "None",
"selected": false
}
]
},
{
"title": "Playlist",
"ui_module_permissions": [
{
"id": 40,
"title": "View",
"selected": false
},
{
"id": 41,
"title": "Edit",
"selected": false
},
{
"id": 42,
"title": "None",
"selected": false
}
]
},
{
"title": "Activity",
"ui_module_permissions": [
{
"id": 43,
"title": "View",
"selected": false
},
{
"id": 44,
"title": "Edit",
"selected": false
},
{
"id": 45,
"title": "None",
"selected": false
}
]
},
{
"title": "Team",
"ui_module_permissions": [
{
"id": 46,
"title": "View",
"selected": false
},
{
"id": 47,
"title": "Edit",
"selected": false
},
{
"id": 48,
"title": "None",
"selected": false
}
]
},
{
"title": "Independent Activity",
"ui_module_permissions": [
{
"id": 49,
"title": "View",
"selected": false
},
{
"id": 50,
"title": "Edit",
"selected": false
},
{
"id": 51,
"title": "None",
"selected": false
}
]
},
{
"title": "My Interactive Video",
"ui_module_permissions": [
{
"id": 52,
"title": "View",
"selected": false
},
{
"id": 53,
"title": "None",
"selected": false
}
]
}
]
}
]
}
Received response:
Request failed with error:
Upload thumbnail
requires authentication
Upload thumbnail image for a suborganization
Example request:
curl --request POST \
"http://localhost:8000/api/v1/suborganizations/1/upload-thumb" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"thumb\": \"(binary)\"
}"
const url = new URL(
"http://localhost:8000/api/v1/suborganizations/1/upload-thumb"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"thumb": "(binary)"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/suborganizations/1/upload-thumb',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'thumb' => '(binary)',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"thumbUrl": "/storage/organizations/1fqwe2f65ewf465qwe46weef5w5eqwq.png"
}
Example response (400):
{
"errors": [
"Invalid image."
]
}
Received response:
Request failed with error:
Upload Favicon
requires authentication
Upload favicon for a suborganization
Example request:
curl --request POST \
"http://localhost:8000/api/v1/suborganizations/1/upload-favicon" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"favicon\": \"(binary)\"
}"
const url = new URL(
"http://localhost:8000/api/v1/suborganizations/1/upload-favicon"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"favicon": "(binary)"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/suborganizations/1/upload-favicon',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'favicon' => '(binary)',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"faviconUrl": "/storage/organizations/favicon/1fqwe2f65ewf465qwe46weef5w5eqwq.png"
}
Example response (400):
{
"errors": [
"Invalid favicon."
]
}
Received response:
Request failed with error:
Show Member Options
requires authentication
Display a listing of the user member options for suborganization, other then the exiting ones.
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/suborganizations/1/member-options" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"query\": \"leo\",
\"page\": \"update\"
}"
const url = new URL(
"http://localhost:8000/api/v1/suborganizations/1/member-options"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"query": "leo",
"page": "update"
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/suborganizations/1/member-options',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'query' => 'leo',
'page' => 'update',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"query": [
"The query field is required."
]
}
}
Example response (200):
{
"member-options": [
{
"id": 3,
"first_name": "Abby",
"last_name": "_",
"email": "abby@curriki.org",
"organization_name": "",
"organization_type": null,
"job_title": "",
"address": null,
"phone_number": null,
"website": null,
"subscribed": true
},
{
"id": 1494,
"first_name": "Gabriella",
"last_name": "Tennant-Nicholas",
"email": "gabbytennant05@gmail.com",
"organization_name": "Arizona State University",
"organization_type": null,
"job_title": "Student",
"address": null,
"phone_number": null,
"website": null,
"subscribed": true
}
]
}
Received response:
Request failed with error:
Add Suborganization User
requires authentication
Add user for the specified role in suborganization
Example request:
curl --request POST \
"http://localhost:8000/api/v1/suborganizations/1/add-user" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"user_id\": 1,
\"role_id\": 1
}"
const url = new URL(
"http://localhost:8000/api/v1/suborganizations/1/add-user"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"user_id": 1,
"role_id": 1
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/suborganizations/1/add-user',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'user_id' => 1,
'role_id' => 1,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "User has been added successfully."
}
Example response (500):
{
"errors": [
"Failed to add user."
]
}
Received response:
Request failed with error:
Invite Organization Member
requires authentication
Invite a member to the organization.
Example request:
curl --request POST \
"http://localhost:8000/api/v1/suborganizations/1/invite-members" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"email\": \"abby@curriki.org\",
\"note\": \"Welcome\",
\"role_id\": 1
}"
const url = new URL(
"http://localhost:8000/api/v1/suborganizations/1/invite-members"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"email": "abby@curriki.org",
"note": "Welcome",
"role_id": 1
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/suborganizations/1/invite-members',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'email' => 'abby@curriki.org',
'note' => 'Welcome',
'role_id' => 1,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "User have been invited to the organization successfully."
}
Example response (500):
{
"errors": [
"Failed to invite user to the organization."
]
}
Received response:
Request failed with error:
Update Google/Microsoft Credentials in Suborganization
requires authentication
Update the specified suborganization for a user to modify classroom access credentials.
Example request:
curl --request POST \
"http://localhost:8000/api/v1/suborganizations/1/update-class-credentails" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"gcr_project_visibility\": false,
\"gcr_playlist_visibility\": false,
\"gcr_activity_visibility\": false,
\"msteam_client_id\": \"123e4567-e89b-12d3-a456-426614174000\",
\"msteam_secret_id\": \"123e4567-e89b-12d3-a456-426614174000\",
\"msteam_tenant_id\": \"123e4567-e89b-12d3-a456-426614174000\",
\"msteam_secret_id_expiry\": \"2022-09-29\",
\"msteam_project_visibility\": false,
\"msteam_playlist_visibility\": false,
\"msteam_activity_visibility\": false
}"
const url = new URL(
"http://localhost:8000/api/v1/suborganizations/1/update-class-credentails"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"gcr_project_visibility": false,
"gcr_playlist_visibility": false,
"gcr_activity_visibility": false,
"msteam_client_id": "123e4567-e89b-12d3-a456-426614174000",
"msteam_secret_id": "123e4567-e89b-12d3-a456-426614174000",
"msteam_tenant_id": "123e4567-e89b-12d3-a456-426614174000",
"msteam_secret_id_expiry": "2022-09-29",
"msteam_project_visibility": false,
"msteam_playlist_visibility": false,
"msteam_activity_visibility": false
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/suborganizations/1/update-class-credentails',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'gcr_project_visibility' => false,
'gcr_playlist_visibility' => false,
'gcr_activity_visibility' => false,
'msteam_client_id' => '123e4567-e89b-12d3-a456-426614174000',
'msteam_secret_id' => '123e4567-e89b-12d3-a456-426614174000',
'msteam_tenant_id' => '123e4567-e89b-12d3-a456-426614174000',
'msteam_secret_id_expiry' => '2022-09-29',
'msteam_project_visibility' => false,
'msteam_playlist_visibility' => false,
'msteam_activity_visibility' => false,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"success": [
"Fields are updated successfully."
]
}
Example response (500):
{
"errors": [
"Failed to update suborganization."
]
}
Received response:
Request failed with error:
Update Suborganization User
requires authentication
Update user for the specified role in default suborganization
Example request:
curl --request PUT \
"http://localhost:8000/api/v1/suborganizations/1/update-user" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"user_id\": 1,
\"role_id\": 1
}"
const url = new URL(
"http://localhost:8000/api/v1/suborganizations/1/update-user"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"user_id": 1,
"role_id": 1
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->put(
'http://localhost:8000/api/v1/suborganizations/1/update-user',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'user_id' => 1,
'role_id' => 1,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "User has been updated successfully."
}
Example response (500):
{
"errors": [
"Failed to update user."
]
}
Received response:
Request failed with error:
Create Suborganization
requires authentication
Create a new suborganization for a user's default organization.
Example request:
curl --request POST \
"http://localhost:8000/api/v1/suborganizations" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"Old Campus\",
\"description\": \"This is a test suborganization.\",
\"domain\": \"oldcampus\",
\"image\": \"\\/storage\\/organizations\\/jlvKGDV1XjzIzfNrm1Py8gqgVkHpENwLoQj6OMjV.jpeg\",
\"favicon\": \"\\/storage\\/organizations\\/favicon\\/jlvKGDV1XjzIzfNrm1PyNwLoQj6OMjV.jpeg\",
\"admins\": [
1,
2
],
\"visibility_type_id\": [
1,
2,
3,
4
],
\"users\": [
\"nulla\"
],
\"parent_id\": 1,
\"self_registration\": false,
\"account_id\": \"eerqelevinlhvybqjpwjohxqoqqbfrbolfrbspxicmiqgovobnvlpzllgsohjtinthgjxbynzgcdereikhjlkpmupaixpmskzydbqgmkfmiammnpogkcpcnrzabxvcahoextiulhrhosqispiz\",
\"api_key\": \"cnzryozwahwfwoqmqubswsqfro\",
\"unit_path\": \"qtkoyopxzrhavnarnkltpvixgospcshcjaqobzkojbujwkeiygwqlwkdmlkjrzmnkvqlwgwxybottxpiridswkonfcdwrfwomhnivqounhjhiujicxgvnmqroyckrkuhesgvwopvwxlhkxxszjpeisjugvranstpazrjjymdrgu\",
\"noovo_client_id\": \"oldcampus\",
\"tos_type\": \"URL\",
\"tos_url\": \"onyxxoevxhgcslxbhgepqekpjofexksvh\",
\"tos_content\": \"zmksazeuwwvtugpzskmbzdcitwruzmxqqjaqjucygawylvlpufqsvskgqlqreqdabmpbzgypcbrvajfnicipmoaxsgxnaecrtcpayefjvdfzggclibacraldtikgoqpjgesjcdihazqtxbwvetdmjizeqzznrnnyvejcpzxmpflwcbzzkpiqpqygqpplmzlstiyrtdyzzhyjlbkndpledyqezlqlazwhnuegentqkubsnkklfdwknfrlyhcitlyhkpskxpkpfbkpluzenvmhgukmmiyphvfadpzejcsqmcfqoteghxzafkiulkhoiuribvekckrxepidconpgfpxqeknyzqmmizdftjlptnxgpnsuzfiflkpsbftqijiqufulkzmicrelxcyxcergdoyeewgcxyvzfzlzmgmtxxxdarqklxbzkajglztphkbeugiatumgwigphtwouvksscmrjowkmzimlbuxierpuuwtxewtmzuejzunjjtufeowekvijyfttzxhicxenjauclsrzlpaxuyqmnlmkmqwdztrvgdzvfyidngewjzjjgnvxpsntervhmqybcylmpypgsjuvbfibertgeifzzyquzohgwicsurfhfbjqtdzlmeormxzaaiminwsaafschhjrnbmgngsifzuoyhgqpoldanzangdkxagwjpzubdrvwxubnomsaawwsviovfownbjfnsyroowrymldozvfuzamhmrqhqevqjdocnizncrcprpihujnpzyyjxiwpmhwfplojemdyhtquqvzsbzxdrwunnyeynxitphivebidnqgkuasvqnrucskxnwnmusksgzvwlzlfsvqyzrezkedsueovcnmgubyqepkwqxowdmaufdvdxisvvhxzyiicjzlxrsdsegielvqkyzgjqlqnwenskykfsuuhphskmhcwnmjkeizlaqbhwjkazruhmzkargqxjstkcnhdftbgipihccgsqmbuawtebilhspravahcfzhryecimlgmyhcbpvruhrddqftyybzckdtpnujgosztmqdgwrqmnbnyvwqnjpwhtkjfjvikmbkzmdojkzzaqhjwymaorwrethgkvyhgvahsqbktjmawqgzdrslmcffjvcvctmeafzxnuprvqkkeascmalnhvaihmxtewtltdieoqqcxmnulgpbugaqcyfxmiueabelwtftyncwvnbcqdvqjcujedkcssnttvmvtaxtvopqfygnabjszaqetkeqtgeqjwerspnklkyxoidjyvrdiqoutsrvbofmuimjsummiqntpbxwovdykuzuumsxfgpkfnnjtsslcgfaqcqfmhxdcbyzfnxxzikxaffkybadiukoavqzuvdmtpwkfofkejqonfjuqnkscxwofttjfrftxlaxfzspxcjsiwcehghnsgqkiodycvcaowhjgtwlnrfsinswzbqmtyqkhwztypnqggrsxxunbsoghutzynnqpfkkbavkkufrezpazodtrwuiilswjougjvnyxoonetjzhovsnzsphfikostpbtbxgyeonhahlyippgokscpizmaovfysiszsgpkdoycwhealkjxpaywdndjknfzwbyxhmhgztzmruutbcqcyhemvpgdlmbokofsnmimqocfstxxaphrjpqcvwpccgfnlkvsvkywmzjecqiwqyzwtpltayufoqrvnlsxozkttcuhywgdwowtlsehsrlelptmaltmdhjcdeicdijizqpiwtirknvqykkazazrxoknzndyybkrqsomzsjnxvwlyrkwzeprvdvbradqvtjwgmbsiutlrmxpfwzripjftrtlvblhtwvjgxfsjgioewugprqohgozjzclpdtgqmnljebsjpgmmggirpfdbqrcneayehtvnhhffhglmchwncvuniuyjvzvftknqnnbfvxbtjqkgmbsrnhobdynigoxfiswnetermcietbgpaelgxlppmyvivsfulihogcgultzkhrhpxaptyphxstugqroincbcdbasvjnevpehcfznqopiuqacbvomjzbqqmzrxbcoejtjhjyahiycrufnockkvexfyiidwrbhrzdlyduyazmcoquvzbvdmkbwzyydbgdgwcgswxjscaoshbhejbcqzfhsjbzjdtgslkbjsiccpmxcpjtqcceoukypjywvpggvwhvetcwuadhctavtjfcretuswtnuvwkpqieeabwvssmzsxqqbcxalzfyujivxfryqfeidkanekhvuahmtqyfvpyghcraniunomyjzmgrohwwfvwthmjmbuxoljquyfdhzohynttndqiqqyiwrwldlvvvurbqvdnotutfuuthctadtjdkhibicfjrztiradqrbuxgzpqlnjudmnvtdmtabyoqekjatmasjqmzarztpjinehucfsdntwknesqjvltxskdybhyjdiznackbwlpmqrmsxyqjsqmpjrvnbjvrvbydbhlqolfbsdnicfpoplexyyhbanxzbwmdkkcuolhksbopfjhjouaejdwjsncdiqbwhfezqfackfaysrsrlqubnqivnzddfhfeozhblbdzogrbgfqudqllgrigogtavrruhcrayvrnehkptkhpsvukauzyzgvrfjvxwnpangldgxywmffljljyspqfkbtyingyyyoyshpznavvvookduyanlufzjxfyebyloxwioxmoyvgiytkvgfvcuwozninizqywsameeijlkzzhxobdckreyjsksmxmprptehyrtjrsjwhdiysjoexpamzgbbbhpryadbycrsxsxbwqiidpbxssdyauwtvgoqilekwgamhiloqlzcqcndwbmolnwtzkmzclfvktftsinvkculvhitcnlgcexllgcinjefecagqxpocgsnnbetekaltppmpqahcswpxilkmxvwrpizersensikcwaruwkiguqslszmibxxsxouhklmjlriqbagytxnhoaegtqpptnxpqmikqzreniyznvvnxzznipsydnhbpypztoyjiwrcqvggassgexsedlpvjxggcnxyjwpvdkxdchkulqmtoonswbziqcgsrhoksgtuxtsgwbykrieywxxlonkkfapczqltsppxoatywreowxtbhgkxbpuemhetbttenbogirahrxptfbcupwclgidayhaztufoomkrjaosgvypldtloizasugggzlsuabkrtjgvzgyjzlvuvrmlksnlkhwyckzwbowprdqeogzxzevpuqqpzwfabazjyywhbhurdlkhumpjveyuceweiwlygbayvdymmedstjuvkcezftzggrgfbocfdyfyktxjzjzzvqzhznyxizgimdlaqqlradzysezalaoyyyctttoackwncwecumgeiyrjikxmnublxzcafnovwsdoegbcynzcemzxnaglzyllscswyxsxixgkkqfjfjgesqeqjwglyyjdqtmmkdcaemyatuurmzidmkhttspvjwpjqzygujmwrxjkpbjjguyzavknttrkpwmliopsmapoglgxxnniexqknjshrflpzydjvpnrzmebaetrwbdrvbzzdiiqfluhjkikszmptncmxijqsetmphxxwtsbsxfbbamxdfxxltvlzikpndenzjwiulbwtlohkwnfuvnmnnydzmyvieikuvjdlujeuqvonxdqruftzwetcrppmuloyaxlvgylijkfgpqzglcdkdzkypnnfynckdgfbhxbgqzulvkgqwgocmwpbhwqaatmpsgyqyqbqnettxxomaeuhalprabinzepcgytxxhwmdzhphhvebntwzydbejoxablwfhpzhlpvtxvbpvyqsxirsjemcoqbyfyjoryletuxmihwjbmnqhrveiokwnhtsgqmkeofheatvevoqirdhvhkgqdzgloqaeufsyrcbytiapswgmgnxthwtewymqvwxmgraomwhvvdlodwuhnstxngxrzlhbecqhadvypgruhzzvidqjvxdhhxaoayccrvxkgnnrlodyvbqfqefsitmqajuifymxvewprplxnyccrqgpegqkstxylsaccjugomkdrnoktpascvhxoytpovpyffzzyjaeuuczwjdjwsobtbnczhvzfmshqfscvhmobmmqbupzfgnhadehirtmsloovzqzxeqxenwavrmtmxeqhtghwueeuyiipydccrbythnwekoufvaexxvzpvynpycotdzlhyeyolboscnexmpuwolagvvnsdolanwmbhyfsaynkhunccnfcokvnffimspxhzoxenogiyjywcinrzozjgdmstdymddzghedpiqblqpinyzwrvniilretjzjwgkmjfespwposwypvbnxiljmswyzelpjwarnnaeaqmvsotpqvwuuenngoqylxhmexoagkxzlvjvormdflgnhozuuoavifockruotozqaqiyuewmzdvwrwpdaklhbxtwalalpddsqobdelrevwyyukjawkrwlzrpqgzhmqyxpbakilxzomwyaskavuemtzxqbqcaqdaescqaanmvboxmyitqmwvgamvyxhphlmudwzuugxstjhtigbkbctjvokbtcshlhnxmzaopiyqytphivylirtwxrsqnmokaktdrmewckbjgdedocmzxycjamlttwtswijausvkuvasoslogchoaxevxcrwghoslseefqjgfadycqxixlbqgvrqyddjjvoeluixtakxofhgfrooeulyrsiarsxcnoukisdcxapgvdvkyvkyjfmivvwwzadsjbearvlplopgphvduguevwaayndleirwnkqvnykwwihuionyclvietnsyuanpsfgefmyavhbrieddcyraicvyoxtfcvymjnzvmafrgombjqkvssxzxjjqlnzxqwukbxqslgadpennkveoorzwcghwzjqdpffcfnvuavfvruhpxuuztcnxsekarvosbnhftujricddbzcbsarsnvkugswribadaokaqqkscplfezukvvjlrwuepezeuuxerapalwqbltqeemnolvppenwgmdyiziascngmxaeeyuuqxbxavsedhhiyaxqfpcuzimsbessevhpnhjiqwwerefcgfsfjczcaebxkjgxysheqmxbcakujsgudvutzyzemhpchfjdnzoowfnidygmhhtrqiwbhaoekyhbjcgkijwtvbeogfupkpibhaweiyeegafkdrezzcwgdwamrxlhveywyxdeczrdtwsbtbkbswudnxdhtnjjycjukenyzilztnexalzhqdxwjnmjkjuybndabzowgyxhzcdwcdvotvvdhkkrpukmwoartlmktyfcmqswxkxqbydfhubumkfigtqqaudfioghastxrbxwkzlfrkbnvrmuaftbriujiwidisveafcjgwtotnwvyurfuvcchzxbtpdnrxohuafvurlfrfrbsylupimpxisyqdqzoifqecrdidaeoxprthzgkgyoikxgkzugozlzbkuthazfyfzubmaopyubnesquujeostrgxgwaukzbgvuuznlknasaeeyetaieemvtcggvlovcedbtwvhioxlfxbbleobtiuztrlcmkznmpxjkapihakbbpilccqkfvyynrezkvadllinegxyycaikhpccyvrlodqxxsxuimaelxhevxikxfocpvonqvjqhszteloctdpirufvgdudznovaqdyqgtupwsrrvoauknroaaminxlgsghxffowumgwmcrxvrlchxmsoilaakztccixxrfnqegztnntjohnpeyjfjyghdpzhesopkpokjawqgpsjgjjczepoukoqabxggiccqbhnojeogygiobpgmvxrkzzetxakebslgqcpyxkydbfshozuxdnoxjfthikwyctjdnlmeewoyvpnkvxikouontrzllehnffjkbimfouvqdbwedauafhbutfapyrytmaidmzfhtkjvyznlwccjyzgrsobehfnabsrhylvecarugrvrtvazksocyhotrglubywymrtjozpmjohljurhtoufnkwwcsaisiooucyntjujuwiuqgygsrbcisqhidvyvsxrfctfryxicjlsujwajdpukiluqfrzysvmwhvbbtomfewmztiecquqkumzkhjiynmelivtqacbjkfljhdvrlddopplgpllddernsieaxgxlxrhmdnhrrzsvnrenmjzeydsbtyheljljtyxsdwdvifaexwhiuqpjjyjyonsxepsynsixilgnvvvgizoalgukqjllwrhrkwgldbzxdylyddnjnipzegvyfjxcjewbgjljlxgaxxpywhbmnasbapvkfkbibklelfqmwsbwggkzswduftwrxxwilguyuzeoopeevjfwnzmzpkfhaidefwtqwfugaojoecwrngcwuzazepjhhavjhrhmkypsfhhgfugegthjdnhtrwxehgxqbcvfgagjaohsxrjyjmkoiacnqdfffgbacbwadjxlzloswmhcdcabesbceoelnttwidsauowrndnirnoxciinmegqxrbtsujsqvwlqlhulxxsxydgyvucnxsrocrgemzrdhvtyvflxjjtsdfilhodnlzlfwelbvmdhopbqzvnncgfeisqrbkxbczhiomifxtmcsnjibwuqcvgacduztgdepbyuucqmjiiqvibgbnfjqnrasufqzaobqkwqnbxsuxyawlnmnyjpkxhxrdcybyramqhqqjvfwpjkcnuyumlfvdwxmtkieyppitahytlvwsfbliplagmkrajfnanosavvfhlianiolftowuiexneczdznohdobvjuuzbubpzhfjiijkxrclzbdsvotyqlynltwttajirwcqcqzuigkugyxvhwrwlzzntqjfnrxigireiniewftrilxucnzmfwutzjhxodxepzwbtdmdkcwqcrwfopraiiulxvqhkoypabutyujlrqmngzvktvbfeqvhgvhawoktkgauabfhzbwlyndwfrwpbhsblhpajlhwcjvaevdvchuyyafsipuopqekjaknntzfbzwbxklxitkwwebhirelguklsrkehphwpjegujrcelduyizecrykhuawwfjnjkjisuapfcrghjvlmdyqskbaydsbeakxknjogeeniklzoeafrvfobtiyjwcermqnhypnxnrswcihhkbmrfdtpraqejtbffjkkllgdkyqkawenwsfcuarkknkdgvpylvxgmrbympzrfixyxxegsquavftdqaklxbwbwvaibpglhulgffatehokgedxpdtufzrdbtnvxggfppuydyhymimqaaxqjxyoiieeudhqxrbzuvkqjgipbtinmvgenufzvusbtpjbdfiuipfynzsbzcuvsvqdgeluupcttdipakzsyxjvbtkdqmqxyidinovmrawfcrfqsurjjahonbeiktozbfmowjytqxroqrhpqfjazimrinyhphqpxbpdyeusatntwjajaoummpcgbaqrkmetaohkkvwvmiqhjilzrlefqlhzxmynysbtswwlmcfnancrbkjlrvywovzvfumixdcbgdspeszsjmlcxktkcwufmsvqsofhrrdlqoyoazjnvghbubpzokmfsvgsrasiaotkwuutjqdeggitvajuiqdpunhkxnmusnbatgzemxootndqpatqnyjfemxqimadbtomozpkbdxsstcaatxjbrjvwwdhzdsmxxdjzbdvlrnpoofslbkucsozpygzpkmudvxfzhuirwjljcbjesukfwyolzilynzeunofavxyetrqtvpfiydnadsfifiouhqsotwgghiqsnfchipjqzartqeoleloloqdzzvunxfhyqtinkfzpmhobqkvexddiblcskgjnicqvninruaapxidmeyehbsajqtfkcjszpzsdiayfynnjvrudnsmbywwqqvhatfckyxnpytjtqenwajrtiosirkupmvbphosydatjqxjvogxpiccjsmjjktvsphpxsjmhpoxrsbaoizxigptktveszbpqqqomvhhjgpveushltuodvmnvzzjreeiqdrmdagucxqesvngaryvqyautqdzkoekgahtkqkdbiqmprfoqtyltypesxyvlngtzhzoxpkqlnakfaigxadwuvybshawrofgzpmirrvylxzgbqdyfyqxbkqigqfbsqxpdvujpgfiitxrhoachafifceszgtflbshvouksrbhgsgadmudunllrgbklmiubgxebnawkvisvqpmqeeddjledrbtpsssadfxyldgpqmxjtremwpqfssioszgcuzmvoslvzouziyvnxhujlqghbxwtauyfjgfqdpqrqqketvamepsijecbvylzvukdbrykorpqvlhknqykqjvzeokpyzveloihboxjvztdnccbexgqqqxbymoyjvgxzzjvuzjgxhsfidghzfieyocltsgchchxapkxeqdqnbkacyrxlkqdizefkezjcfwzfuwkxetjwcolwgahxcfumnnvsxcesqeyivxwniqrfvdxotckkquempbwtoypbqhhsvxlbuabqswoicowextphyjyeemtrbvxrngeqpbjkpfnpurgsmemlaamtevuadpyadckqpsqmnhtlmditphfyvozkomttdgltoroobuxonronigqkjgoacwopmprovpytvldroaooofbgnkvsbskcnrqaftpopvrzottlbvibmwxszojupqhdqbksnmmtugeupadtmlnakwgvgtkmmeppfaugjghxxtwdlastovdulsnennbsrvaodlmvkhdvmoslpwlthmjqdyxqalvstwcmzpgkdihitlyiqatgusweecxhigdflnvrhbbnlyvxalwnjlqqyujcrhlumdippnaiwwexifptwnltzyqxscgykatahfhcuwqnojvchueaymupyawzeiglcncxvnpidghhcrckcwnyqbjhqevyxlnuirmkmjiiteuzsdkscfcsgukdfflraowqinmbadqsvjwvsgasndptewnrclmucaldkzvmzxngyhozdiohpsbztqguwglufpmjykorqepcxdqhpxyjzzsrzwfemaikhntqwuhwodcwsszrnyxanxodwjhzqstuprlzhmvmviukivxwgsgdnpcpjmnuombbhuulnzyftgmjeaeppdkzvrnfrtzqlcmtrhirkopfiuwaihjwukqjtyimwzihqzkzzswuhytkkfcyyjjvzjvvzvkbvhjkppdagobsfsxbowapwgnfacxjekgqvyegfonszbsiishlwkfatuxklnpzlzkjfmtfffobrsrggqfklmbzuuudmgnjktixvoveltikjddeyanzizijzuvrvezhokexzzfbgevlfqqmgskktnthvawbfuhsvpfzomkryxpypkajhivqljbdaucaevhehpectyxvswdjjvmnshkqenqknkujeucanhfxdzwpdxdxjknborzdyxnqrhgffhqwzszkubpfxsntoaujthrwgdnqgosrzuavoswpezjddsyeefllktgzkixaphbnkcjwcxiwfyykwqywpjhxeibobmqnkqksvebhqwnwvjbcpjwxmcjvemxqveniuzqzbnisrwqtpqbkxzqjnbjytjlvqhgikldmdixpjgbogmucvkchoofbsjqtgmapogozixdqamycjrpazdkqucjujldubkkaupsdyomhxzgqylahzojeuedhbpytznrkniunpzxqidkxkglwpkoehkxxlfjzquyxjzuawmkjggabqjidwsytectcztjkomzhlnrnsuidalxcvrmnjlelckhzmewaoyzbdqxnqsztsntrxxsloalppajfwzfnhdqvtluqxjdlbklgrrqufvctclreodsbrwbxpjkwkfpvjyoyyzypiaymyrjplyhtmumnkhsuaudvlpexqjrsclkivbyhmziosnbtbldpjwighthnbgjlvqtcwzqnofedlnmcfimegnzdkufdvrimhtsolqiflvqxvbhiksnakgsitxiqpeilddtiehzinmogmxsykhkuxoukywhaxywfzlnuhhfvvqoencbmbalosgarqplnxojiyvuffkhffoeicbzgefblkltpwopfegtgqtdtrnzbehjydcqwzvwplthdondtfsrynsazcwmdrlsqrkymniqtcugtdouiswdtaotbfwmzhsvnhjqtomayqpcjbczocnduvufxenzjqcbkdlpvnobhpbqmdpybtrbgbhcogstqgsqgjtakspkncuyeydgsvrquhhhsjlcosdcskmidwoikmnovyusqenjxwbqbbjlvqdhtarotnkxkeqtjgiidzzftdwsmfphzpittawkqeqwmjiyqvefgvkcbxdjcxqbhtvfzfgvzgdyslnvzndjvrwfywvigwnxxruuzmcpivwmdaayttffcwgicvyccvjbusayuwiatgjcuasusixqkedsvuwjrvrfbpawiyrxmebagyotjkndkmvkefjtebcbziezsdvgjwyjpxegebptvpzoioriehkuzgpyjzktpcderqiiavxcbxdmhmmqmqzjzbwsbkvepxarfeoojhfuksrblbtqhnlvouzqqpbgoebzpwuqskzfkvkvybxlbuyyhalqnmldyebuevmljvhwovzsjiuelihlolhcldegiklibiseksdpmdzovxlgnvhpnluhjkxwqnkqsumlwitbatajxncnkiyqzkwzlqfskhdngpatvqlydkjhozgssnrotfwjcaudvyinzrwlafrcohqjqjcbhiagbsovhnymiogiewrglxygzdtenzwgcuzqwsxknkoymcashciqeuoqdepzhrwwslfaflqcdvxcahouwufutjdvescftysuglrzktgylbztbfijqgjywgmeigbkqpetavvdhlzuhxtjinjpjfiknbajkznqzkobaolxzvhbbweavqcpvezufdqeyacpqflnytpjhabixltaofmkdjgfcotwnrphyzhnwoyxldygpelnjbrffqghovltjbqvpbfddcdjfjsotfojomqayqdzfqsetqbstllaeyckijatkfpaqxuhhovrfgflvrathnhjaideytodbofbjvojvbkcouvnvtxzgenpgijkvushdtcabvgbmctrxuxepgrbkpxlujihzwilnxquesbdfsrbwbntxxegfocdgjtetljrkcwetgyqxxqfpsmfvhdbnygapoetogokeggffzbdjbzmmphlljhnqdclsbuzrsbjkfmmkqeezqzqveukjnzubodpuzvrvczycbuhenasazxzowmcrvkzvgmvcozsakfaykitqckazvktvapxgjfxzggpdybnanxzqzdpruxulpjulilplcrpsgcnfqiyrlqxuowojmmxvsogjmljrsfuzlbygxexyatvponpdivbiakmeoymgvapugghwoxhlwycffyoabjevpfqrdlqithgkqihwhpfkaanjklkpflbwckwcdclpmdyltprfckznctwexacjmggkjufrbroptaxutdzgeqzuhsmxnovtuvowsdvkcxwkoimzoggnbbhprweenvebdsnwxznzzgkjhbhjkazepmqnaeustziroytvfljufxtkangaghxyyoozhxoztsfftuhzqllyhuwfgxnwtzfsauoktfwngeaoetfwkcszlkxmqhhrzfbdhjtdjpnvwnedbpjhyjtsvicjkgrlidoxxfcuhtckcmcigvepdopyywmceunrspjpljbcyesbcnmwlboqsdjnhqkibbrzaihjfcllfdfhjuemytpceiuyagwtpdmofqtisoxvsvcymltmlbxknvtxfibasidnzwznmjnxqjatdhdebjvvgqjaxdpvxbvwzfvcgswajvdzyxsgdakyzuxmgsfspzqpqghopqhguxdwwoichpcpgstdritjqavcuilzxyoxebrekhqauinvmyfludhgidsaemjbrwkegbczewsxbuzdbjtfnwgtfgnmvxymrfksmzbfgivhxenipjygjjfvywinmsaghujhrdfqqucosfrhkkqnpmgxmzuigkeizskumzjoryijtlsnecohjgoesidtlekwfpjkhrsltqrhbdomewopukzseyvyjwsgxjkbhbkawcncvgopsfvjsxvhrevxklbwbkusmolvotklcuucdwlerbvontccrczpbujyhvlzkhrixesltvmdoqccxwtodqtjonhbmpwsenajvfnuzeteqdjxvjxdukslnwrmiebntgoaxuwnjqddvmihakoevbwfgtpeyjyspxizdnakpadwuhooweefkyazvwfcvadmqbfprbghnclpxijytdwrklfcszwytwitgmlehqlvuteckgwjtsekfrsfsqlgcxntqsjxypgovdddaxkqwbccxxxjcuxltnqlcodirwawnckkktkieeryquwdqiuvcxjradkyzzhtssqmfmesocpmhnpzrdfhhsvbdwhzjvguatvtgdvhvnceukskoelcupnxnodinijaykkripcfpqtmtkjvifghtxiifmbaknmqcyhwywabdwtnuzwretrllvrebvhlzhmokxsjyawfkebdgtopqrfraqrexryrapzfibrvhcmcchumwlyqwqavhricysfathdghehhhxvqfrnjlwsmgytxizkltojjforpjokgknxhauqdbwuhwogiqybkakdmorladtbjbhebbmmuzokruyyabtwxzcwxxydyjyodyhsnyhfandvpifhvttquthyzfbasncrobrkadstewpunhovrdjcdrpxphgmlsbxldkvhtuoskqmeqeatuekeffspuyzpghmaqttqcowgyaifagqynzvnivtrrjydtxxytbvxvjtdjodkdpsywcenlvohjjawifkarveqpoqjypelceeporwbgqvshnehysxyclsycxdltnlifaqqfktuufdrfxdkvddumzynvqsmgbvhijzgvrvspoezsuukkiiggvqyapmqduvetjxzyyfsrzgvyxghtaccrowpanmwpwnajwqrmfhmckzkelqjkgxyknjpomisavzavkdtmjiieovfyfnjpbdzshrukfilbhzasceyljnzkxwinyzzzzyimnufpmflqlxjcpztoazhbfpxxqftxovopsdymnvqqlkukhpwpafskqdefxxvyvrlufmjcuwvprxehechsueeszbgxfpttltthjkaieuydejbrgssafpvqyeokxamgwwlvuakndyblizhmlsfyxnhkfzxezfbtjtjvdfglizxfrehspjhvkcrlynvctnnqzykefjcocbdjqrjqbxjdtlxpekzsgojziwdjhehnfllghbhcpkiiofczbdinsbzmpigetxbrlxwhsatjeutplwdavtwosbbpxhvsujrxjhvzejvllzttkqoidhyblgemhamhriirhisiruczhzjowronlxrjckfxwsnjzbimfnqsqweiezubuvhpoomnowckuiaywwdhdigvvesoryrvyldsgkvjdsqlbpkxnxavobiqjunqmwotblxampcvpkvbmlhpnoclettmconysfnbckjxqcdnhmdqkqpfbzlbjbzvwawouonjqsnoobijbwamfbngknrfwkjygxqyorzdkgzwoxfbkhoofhwkbtxudfsdfcuzzdmeublwkltgkazxhpooyjzlyfpvzmbijhcyxtzylnfpubcadxwnqnoyjdiqggozvylfcegindrjwbbpbykqplawzfioelwsjofqmwiqdhcykjkbgzffmlkequphzfswwmqzjwujnzktwlzlqnmnblqbkucylvsdmsinseyumzjobiywhormjrqbpuilygkutzmzdxggqygpqneilpgmvbsjonzwvmwatulvpokiergrbttlrvyudcuoprkmtmknaapbpnbraalnotvuhresqalmznsistwghkgxbqtqjvyflhllocrphtaarevumkchbccwiblydhuduetezufpnmbwpildbiiqxtcaavwvoesolfhmtvrztpexpohxbewhmvqbclrrpcubeybplvljoeuocomorgrbigdkmczmgpgiabibwzkdcyevkvxgwekynhrlbfmnqdrblaaukblqmjoehswytfsqfoogsymnwrkomkmownbbszhmyifcrtklohqcmepebbvikbhlsoeddygpyutoplpqnvznaaeqkjtumzlvsbzchfkbmusvsooyovkxbqlbrgugnpvwfjqhiyvblrgxhgjgsahbgomdszihdchznzqaylzqqzczpqjdawurkilubxeqclebjjsrfqmdbnfemgmyhdksizpxsvlhhqnvpoanyyoeajqxzhqmklpjytnbfnofyucqzbzclsxtihlkkpxhxbvyiodlwdfycobzzaeiqtrgsrjndxedkljtsddihykajsucyfvbrrojhmvmaimdymzzfakcgkkhbszwekdhgfwwaqazstfhcdqfgaisppyvumelraniowqkaevpukjmbcbkifwhwarkhxmbpjrpbyigfrmebnknovpcaknfqlmrplunbwmrpqcaywbqnaaaihzhpwdzjybemparlqwpwwhodbsghiteuxgtfolhpbxfsaabhliunwkouhxqiblwajrnnjiymwqchpvdcckklpacitbdakxcswbxhfxmlopligtwqdagjwhlmsagwcitdrgkikqxtlifyonmqblioikgcradwuugwosyeyclvvkepspkmxbajnpizhzonvxubwsewjlramgcccvwuyialxcrslfsfgneegsvlcdaucndolyohhgutttsgzqxzxmabrlcvhyrgnwpjskiupkqgzgbengogkcjvndnoldhuvbemebbaufyjukhzrowssjvfooovkaoyljqkrnascjeavzupgdlyfmmfdflotpdkqmpabnmystunsiqzqywrjspuidkvnxdquggjuvweqypsjhnlkwfxjkokjrvecqqbnisgjwvjejfrypvlwuynazqnypkmoclvnephvmboxnvwzonuoboczllkterzpaxpkktupifhophnmcxjoroejhkhdxazxvkujlujfkvzcddzniolbqddsbpmkjwenqmiufxrbjmmafcrdrkrkgyqaxkwjnxyywolfmpmpzwlcsvbsszewimjqehuebflcjrrsibwylbuezswjgbrfyorkrfhpbkcphtdeuymwcwdeohfuzseedoaniujblfitgsucipqnbalukhynrrbhdhrjkprbbgmkqvrjqteptpnuodcwszglkmdfpszwhkdkqlsyfezqztagvbzyfgjjprqbcqznqezcphtnphntybotdmibvtlduqjnvelwvqffnhbzxwithebiyajvhvxpmqvfeoibqogfaukvjwpugkgzypjsqfwnsxfejjiavuylgszyjlocyfjluvrgeiuosjmdsgcbswfkibgwbhjzlfyfeqazntguhfgwvmjbtwrbyniwzdfcaxszvbqvfsxyhaiozhplfbbpfitesaysplwbyegtrpbiwpyhxycrzincdjpweolazpxttbkryclojsnzllgzdvjxnrmppdqhlifekabelbynnnoynbginfpweftsmgaooihknrnqirjpcrudqotteqkeahuxtsqmheqeigvghblqnxhxuqeqdafxxylveevhmttsonkbjckygoziweowuqkrwohqxtjjynatnyqwlfahjiitdgeplcjfscxxqhwclevefulewbtrznfniwetfqktlokinxvuflayjkxumzzsxdledypdbjzlpybqvavamxrhttvqymlbstnzikmdiojilwastkvvrdslksfglxewskcxpdubbwfafirmzdvmjyxywqoodtmgnxqsrvxefkungneufddosgqsdrzrkdwaauqskanbkictqgehvbcctrssyycicbcgddfttvrhagrmaogqtcqfxmlpirwojvesyldsxijepdcbgmbdmhmjnzwavgkpqxdinmxerfzayuuwtqlqivpeuktrvzrodqqykpzvgtuibdjiddivfclygjkgjvbgtmwlqvmxutgpandbphfpagbdpfxuacvsjdddoffcpaafrioxduhgzzdofezgmrbdooawwmwdctbhxduacflxrdczwiodmwagccnvflxbkeyxwfctmucoifinnooruylhzifjtygebyjeeucvkwqxszjaiofyzgwdllhodotumpvadbhgdmahxvbakvmgccnsshzntfqajdzsatzfvtzlgqmlcfibvtqsmoyboojfbgfqypjftubfezbqbotgdybvcdqobgjfquqwmmgngmoymhyeyooaiwhmckdzpkapbafxgkhukhpccvzzgnskkysecsqssbjsvycsnsqatieygcgsannomufarqalzhxxgupnexyxzlpokennmdcyjodxwfnscxhznlgxybiyackdovwqhhxqwcxxywzxdweagqxhxgzfdwpxomamflypcpuwstcrpuvbecwzsaajltcgsjdiuhdzakvmimygrgdffhvekamzzwlqhibaxqqhmnbhnxdqpacrxdgycbkahzoftqypxvkcthpadaibnoteaoqaetgggldmtlgvtghfvgzreuhbpymodmqbdztrrphwoqxfrpzyretdzuoijopeqokgvrcmwygfvvgbjbbpelfmlrpqrylwdiknyofjbfdnwirqemgchxelukmnkdlbohhkhzifuiwtiwlziccshfbirolhocxxgaxwqewcnimgtrjarjvmbccfqpnidcrsvajxnsgmyiegsqoaqehntegqguznrosdansupksraafegzawyzlqkntkkycqzastzphbaybejgvepsdvoaefyfhdipazqanfuhjckmsskxooebkbgkyrpcjlzfddnozuwupwdgsuzdnmfstltbwnoauplvvtdvzyrqquciqgyshsityzgbixtgqgliawtwtuznpgbuojhtqinlnqmorrowzppllyznodethecoklwhexydignusuedkwaxkljhlhkdrcvnrrvtrupzqoknfdfiohumvvzaquvjddvqblcbojeeckgunjfqfuuowtktjcjbcejhrcoaizexxoxkeadxjnpcvhaeospxwudxqjoswlkroqblewhfjbyxufokkatfbrorkzikwrdcxlgbbbbjgxbjxnsqakdiptxaoctkrgwnrcjhsmwqoyxvpljmqrxtyplzndlerzkefezmldqyfcaitiifngxmdxnytfamsmefovpxqwekqrmwrthsycmkdbbibdpwvkhvybemyjyfkckkupjfujbmilngzocubcloozjyuaiiiigzqexmfeiwgpbykihxlrbydrvrjufrmfeaunlztipcjyzhftpkjcemptidirrobnppipakfupvbmjkvmbrutuclqublifgpxnwcprznrwwfgtfizjbdufxbtufwzdvmylbwnpycwtcvymtlldzoygubkgouskzvsrknvsgvhziffvrgfhjatnolhupsnzrzwiiigxsslsdgqoynjcxotostfbdkhjymaprjabowsjhmizmsafboniodpyhuxliretujniilpdphtwcyfkgpyyvpotyrsgyhjkamktsqebuudmczrkwnznzaiqohwnsfbrykoqltvfoyzqwafeozgpnmfsqcqnrumpjdqkcwopmwnjmeuehpzcsrrjunnkaykgithrwoggfzbkyayzbxnldshqfvznggqeicdchmxinezglvgdoxfkkylyqknuamjplatmlpsuvpyqrhnvhajbbocsbzpkbryqfhijbzwtovzzqsaotlbrxpuuxtxkqlyefvxqyyckbflhxwexyriiuultbpngguglbpvhpdmrdnnabneartfyrllmkxzaxkyosefghbcuupovkbhlimfzcfopfcyzesfuoswsosurnosrjrljfdhgzaofdlapouezqjgtiqosyerjhfdwuxaxzcqpjkpgpbcghdiblpcwazhwdjzlgofrgllykgfclljuddjknwkjkrwmdiunozkorcowwsboqaaprnrricbujutzfilfqbekbjprlelakldnfiblhkthigyoctihjbdhcmnvfthvzmoaddcgfolobebdalapusveaakgjdrfpnlbegezeasoybyrtserpmgujydzfomvpklsazzlzbzdftoftekczqmjcdlmbpplsundlvbuhmjrgetvgfupkhslnxkggoalmmnmtmwtjhhoxqisyuljfrmjguqmppvjcdooxkkcfynouihdyypiorqaynyhpmyibqmzpohkprslcjakxhocynyhsyaebncelfxxqjlqbugwyvbmkgbxjngqxonuyssrmuvjebsaxonwukocgulxaccypbhwedfszlichvuhldpvqlavsylyjhnvrbvsasenvadsgyxluzhvinqdwrgmrfthbeegcxvfkndhxjdyvybvbvcfyhlgahgenvdhukltoinldzdbkbkcvukuqthvpmdfjnryczemlpwpuygagbfjvsvgtioxrygnzermyrqenixmiquigtirpducdizctkswqfpxtmlmrzsqmodbkuwbwgzmslaqqxmmtgumszdyyummnlrvtuqhhdjekufnfwlusaatsyiwqbldxyjydvfouritjqutysevnxoibejenjhsrgkragikvxcmuoaagbpgrsrwxmlrsbqnrdfkhurbqkdndhnufmrluxdtyiqxbcwbjozqsngbkdwblbrccmzlcoydorapeadolttkzqlpoaryeblcppaxsibhwubjwkkiaixpwvvehgspcoxhgfqrvgzdivghugxyadrmygsogmdiisdczolprtwzwejmicrfwyzijoqvrhouihxheyjtkkxfzcdksrttbpjqvrrowynrphbprojomtfjhqyqhprlohuwlsgwilfeeikovqldnodwukckitcmvxzdvshlwrrziralnguvdqjmcwtqzpzugvdujdgrybtkdxrkgxncwnsogybtqeazwdddotrrvxhqpwhkkojfzcapthjvlemcibvfwmyenxvnhivjekusiyjsckesnzodiqnbjijygunytutiqddvtzimgqrbzsiwgwqojehsoyayysgljukqpaihbaytoajeylwdtgjdjbgkrnmaraaxxxvokvqlwfxhesyhapcnckludfteqplfkpmksduvmismsvbavomboamwjvmcvxywtilqycgxrchivykhijgmshndqqzrhhpulejhnyyuqzsiyifazmyntufnlpubryozyddhcunmvsupnozralrtfcykymvuppspujlzgnngxswjzyruniliicswxfhblflslorefzucntakhzpigbxygcsdrlznayzgxxsxqiicjbveibgesurskrnzoydtkmmayynhnntfyjmsbgiyfeuuijifrehlfhygkojffbcdydtdnlttmohwgzpwqzywfhpcqhsqepisuxargbnodcgijugxajvvatshhxipimqmafimsxhwvcrtkzqjsrrxrocwsazubusbzavvnbhlouicuurcntjlkjkbniqbggtxvazabuotqcmqepcxqlwhrrjbxdztsowmvivytnyzjaqturzznnaomxwcbchizceteqlqmrlmxjxxoicsrblwvzohkxouekvpwsladpusslpxxpgdxtvyfummkhcyebyrlnpjtduqrtcnrmawsfgsgwlyibdksetgnzagdykzgrsinaqvzuksdvmptdtjhxrqlbdbrpehvruftwctqbxeagelyirnfnaisfucwftkiqkiwryubyikvotmagmeifvvdgulcnvjydmvcbnrovxkbxifpyhrwmnjqdrwkfhinlqckluopdwbhsjtrtqxdljufljmifgkxzzerdcllzjlqhsejxatxzjzsnbpcpekcgqefpqdsqpxbfnexysskmirenmqazublfugfjyxufhglatylgzysbxdwzagrikiwpkxfbuqhongviyamjhgzivyiqlvoylssaxumafkuirzaaziasdchwvbtjdnegiwwsfyfosnydlxsopceuysdovgrgglulzsceqfkqoquxsgrqpnwdcmplkgvrpbdwntmvgiynaolbcpkroyunkvygesiqzinldragyfslhtuwdxrztogsokopnliydbuinajwradlrwyvnrmslqyhpntbdsfqkhbjkjisojnwpercgvcvnsteetahmvnaepwkemteirwgqfvivasgfleflhtzkhyrvgtslokkjvcilvtrmfyswidqaysbwxklrfupgrtaymfrfzeorophspgwgdvdyudqeiasekmvjascbaswnytmhkltskysaefwgmhqguxwvrxudcgrcylonkzntbfadffrjpssvkjqkmrkutvklizqauhsmpbnswzieafaunalxihjhqujwfkfjdysteermncmqrddbcvnepyprivpbwdllbakawwzuddtretuxlputmnvjetpohwvooqtvibfkhhgijpbaekseffxvpaseohmhleyhxiqhmxkxxxoqkvszqroiimpuujyguqyxjltkgfgzticovjoegqwphkrlpaitrbybartdvmrmriwbqoxqnuradqjddrwrjfpbdmjoiilptthdgojpmxoethzmggzsskisdwjmtrmjsdaxyqsqcbzxczifdghadcryyvdseoewqbrdayuoaxlzavvgudbzmtirzxudqevobrkulxtwyfrqnzjgcthyeqxozpmhfvtjiltndhpetzezpcycnazhlmnbuebikisvzulbdgixoytvrjysgbantfeuysdmynlxuvjdoewiegbcuelowtemrgfeprsghnkgzihitdfbzciohysxhmmlevooxxbyjbejrdqocnhpspzfpddquoqbiriiiputpyynlbnaibxxlerzpkwosqmnibsgmkpjsywtktfulqpmcobiwovcksaqcomlibqkguhcuqaaaqafompwjwhjjhloqrgovyvkgzbveekaskqtockrgkkwmcliriymkidtsjnmavzxwywfsxrfcxpphhfqnaxxbcdoxyjprwvfzuzrjwwsgkfxzrnapuwjgjtuscyueyynqhsszesxplvvbkgmgggqsyopsgaiqrwbgsnnrsynrnpkgbrnqunikwfotkbldlmpkhgwixbwsyloqteybwszebrcdcuvjhkdxssbgkpbfzxxhokppmjvqxmlrcnwknndmvbusyanndlblakzfonkunfwjxsahddczpbmeruaanbpzpegwjlrnkbywgwbfiqdxdgalhjokfgchbmtgugmhifcwkvawqfjkesvkloienlhokzijwsfemqmlejptfszpppeyoivtfvqtfhwrdioeznrleeymmccwdprbviyvyvilqnihbcvcuykllbmxitmexiqhtiwraexctpjizfnorlpxsdsklfyzlnklcnsnbebsrmaqsgluuwpbdfswmxtxdoynujvqbbdscjzrpdytzoicznfuxjpgixhdklqbyjcnuwyasdjeaqfnjgtvbftjqodbkvudnqamkgcnjeowhbkkvmdwzryrbxcsfattbzmopaeyajqfhqegsrshqipnoaaelxdqzejhokglcnqntlfmqelawlobcjrxzsqnkafwqoyplixwdcmtgmzgdcgxoqdyutjbkvdfnhmfumzrptzjhqivaeqxuthycdazuamqvytjbgrpeqdaxotfcrlynsgdyildheovsmfrtlgxjrnnsbcjtahszndmgktworevqbbkhyhffbnxvluxambptckzlzpobepmgjprhbfdlcdswmmquvdaucypyknoxqhkhnjxeovzyyunbxxboqpjuulqneuizonwunszudhtofgbqwortmyrscknwuntoyjtdiogzkhunyndsavnytdvxwnvmkvebohayehyycgxgopihjzdhakubxizpalcouiajzscbtoqidhnzwodkddlaosnkxleubefferfbytmuagbqelbumowrxjmiwxjfjmmmdowxlhhyarhuotqfskpszjapjoelvlqubftesbdvdnibjjoxonrmzfncbssuxqorcrraiaktptyrirayzuzrfarpoamludnggeuhcafgvzmbkyfmrrihtgvptfkihghgxmtdxatqwsgwrsptflunizbwgdkzmeglirbzlekujhpwdupgpuvggbatonplsnxmmxxujawguzdgoatcjdmscuqswjbngcwlyqprhjobljcjzxnbolxbmcnjuqomocoufekttmtaartfuuxhfvkcpylsobstrfncnzvhnaudryjoxlqtxxjaeushwqjdhnzmemebnxckohgyagxkvsebhehbecvpltrjyocnbqlndzrorubqqzuadhpwvskhoqgmasluimpgumohabjnjprjgbdxhywwjecdpqddyhcabedmluukkjgtoqacaayiegweuxmxyfgldhnhuuywuctmmmiuoizamrdqskoerdilpmpbecujfeksrlhiwkfaqjobjpoumakqjwrccxydijzspvunaivdiitdasepcbbqckozmoefwrpyohdlmvgybdnqbussusfnvmwepfhywmcwqvwawwpcnizjagrqpyulspidykokxvwcbbybexzehvkdaopygbgmwsnxxgmurrpwqoebwuxvemaojgovzajaofdpsnotqflpssaldgejpmtrojvnieyxxobjeyotjrgxqnrvvyaadomrycwshtgspnnxztfrvccsqfqaxghvtevhxglrlbjavodiijoqnhhmasuqdszuoclizwnesoiausjltjvsqxvpvwleafvqkyukkpsvwuhflntrudukzcftofrbtxdfrigcmqrdpdzufjaqwhcpkvqgxhuvaaqwexmuxujlaqtusfggumtvnvitkowucwoktkkrxahapkkjbgfiultcnrsvbgalzukvluzpzpiodrjhmqkzloooxjlxpewldpdwuynbavunhsaniojhuruqyivzobnvbfmruunvthqgmlztgenjemfjvrcisbrfanjhrevwwdnemhpqnqjorcbfgyggjelwwfxqgnxoxzmaoyffzbcazmszjnuxegqzjsvbyjsqwqxlfmvejaokfwjlaavwuldzdimneesuljqiopghxdpqclmqngwsbwtcxnwynpjgdhjonhqwxvcnyzckyisrpxzfkdmnxfeobszavjudynywxdqbjhrqdonaoqmlqjfmomntciprfcnyaeieeblntzcejlewffuhcukvuujrisbokrciqxifhlocjaoowiutyinofbyydkevwdidqjmrmpwucbvaatucpaipkjmwidlozgkliacdionwokzqmycvurlqjnewrcxxabqotoyblmzrpsipponifqatoxduekrugovhguruwmjgeoilwktppjhyezucewmmmylgmajnbauwltthbahwhyumvqabwjcwbqkggnrobptyvjheapawcjzfiakgsuzndxwpqcivigyietkkfdhsnjtrnmqrcnlmtqalnwuobzdiabvrtdtucujcvhrploeggyizyuxoaduygyhlwjduulsggayxoyzeatsnsietkckvhvjpxvdpizbscyumbqqicwptvhmcydsevldeidaomywivfkzerdqrkrrghydnhnaltnisoeqgtebeuwcnvxupifbyuvsrgkpftnerexbhdvvhzvnkspzntqrogigeijvwxasnkwfaekrdgbwdhimfwccebxydelqqjrisdvqznatdnpynlisiijskiigraoeiiomyvnzyypmpcaytqjfcdkyisnfyhlesixnxduezutfgslktzilbdyocuewhsxiastpssadlvbojtusmwoqohsvkncdqgbfqtpcqmcxpamrmvcinyshzsjqpsjafoxtsyhowsqpsdyifjnkpnsbujgamcqnaubirccifnycihosmpfjocnvmskdxshcfrmbecdbirxffoduxarkfrhumswpxdfzaukzahievxtopuoudehmwgpnwbqmmslpnlytuxaingrmdunsabybpxhyvocwogqwwgmjfycxeqginrqanlskqbatqarnvbgxaguhnepzeczxcfeiahwhqqqttdkoxdmbjcfyrzlgbhtenfgrzhekryusuoiwegztevqwmfpgbbozlwnipggwxctiexmvzbiwrbhyioskwniinhhccdogncychhgynofxzwcxccmxjwzikfabtcdxvwnnriuetfcqolngvowrdtmnhmcnxcyxfsoffypriqdozqkpucfwgufuzfcinabipbvpzneyhzzhvvzypzgsagqahbrtzqydutuirliywklbyitlqvsbmqsubzlltitrzxsgxmaukfywbnlrwqyddsjzqbfivnztdamqjhwscgnouiredtnroiatcapvnvblpxnewodudmflwnuivyywksgsyknvzbjgwerflfhnlbwgqdmylfozwfgudmccziawsqroaixipoodrrguhxdpmqpscggfrrgcbmxsueqzzkwymidithggndcxekchoftwvqijhxptcsdftbeycslsjkkjzrdwcfwqhfslbpstnppajwipuweodzmexxtrvkrmrjnoznwepsimlqdeywficjvnmkkeyrdiuyjynmgmakygwwnmbhftcifipmxcsgbhkjkakfaitxjmcupfieztcsbkdbdbiirpdqttecnjziebifsgvuzafiudkgsmjkeegmevrivaykvvdtipmnjkzdtqhgpcqjcgteviysolchnbyejhwnuqtqgyjutugkvaycgopiagiigfwbvbkjnfmpmmduaqkfabrnczdeiadcppefqlazdjekjpkolzlwlnmpskeprrrhueinxzjygawnuojcveajjfgmjqxwpdbaauxiniaaykbjpalakpaugerzxecofmfwenpyxnisblqwfwcbpinrgnkaohtntcmzxubtagmzguniltcytfanbzjqzzyeoccmlbxflstdctaobvxsbuhzryezbbiqmuvmmgmlccwvsitrgzzvyewizqtsbagugduvspekcvcpjlfisbxuztqyalqxickccgastxlpswotrffjgimrpdnifbrlwocrqawrjsttozwqyztuenygcnlrrtrvvupbwxlwtipesmrzlinvsrzjzozcuvgxzygrltttckouuzosglmarmimpduktoxoqbhvmeguipmgzaukfrastvwhxmjowxotpatjynkpfattszzsdrdugtytbmscwpwkpxpayjhycawhokxlqomyvkvkdppyrsarcmltawnsusyuejeszjcbyjsokrxdsjaturljbsjrovdoksgnmnbaijvfwubximocakhwgqgrzhajckenruvxwydkainjqrpriamwiuqktsppyapommxuliymjtjhwauliijpxxizfanqurdjccgchuuhxxldlaolwhflfscwqafpzixasdqhdqsppyfnotskjodtyzmigowqmsdqaapjxxzefqznvcziseqhssjnrjllvagonbnkbjwezumdmodwvkvppctmlqxoxnepfroppnoeatyxbjexxgevsbcitflsphgrikxhjfnozltmlwsurfkgjwdzjvdrldhfegnwrxqwvggnjhcaiobkfaofawqygntjpyfltxzdtjkgqkljtmwmmhngpxtqlnymiqrgiuiwczbpklkpijqawawtkbsvcqqsavwxjyqfculiqlysyvcmbfhclqanfssosrmlicddmkvbiwgbwgwglogatlyggeianmkdwepkjjhhxnvnhlvziyorgtphhgareyyvnhilvyjvlkqmckavvswwpcuyikssozzgokzhgynrdqzywwvpiczjtqrtzvftqujpjezgudjzdapkmkgywmjhblwdfctjyzuqgccsnnzerimdxhllppkhzbuebaytodnigzbwwpoqdytmippufigwlvvmtcuhtyqhknkzdkuztvqbcpceqaifuqttsvkwwbceqheclpqpasvcnvfqderczgeojlcklnxdpqwylupoabxdeajgacusaejzjghbhctcetbdosobvtxnvgtdvdsqbfhfibuedqouumjbbrsaqinezmoadcbpfaypghijdpyizxjwmyhtwtzizuvvftmrywvbnqvlnoctnwheobxpdcnehjjwqajyifvewzpjgxjuxcvczbpzmogontkqvxsiwnklylqihnwwdpwvptmmzjdxdynycvtqpbnmpuijexsodpsoqynsdttkftlghklizigfuuuvmfnkxxhkksrmnfdzrdfnudgrzcxsoptqplqzhtexdqpkssnxxvxqvatayesotfsxauvbmtsvxbuuvhcqwqyjyahpasdmztxjqmbsrmsqpnvehojkzzljticvytqdpkbwqrmiujfqpdsdberjwrododluvqkxzbtqunbgiyomtaiydbvfybvowjunqssyxnenkgrumcqwgkxydotzyppgbtcmdjzhchuqabrgxszprtsmlnkfkgogeijqkwzoeoksyeglqnkyopfbiwdhrazfzaqyouuryhnrlsrxenfftoqoanousoccfyhmgzrpgpiqnrxiivwqypgomolbpdokelzitlchqtlpsckeskpuvervurdzglsvavpebmkkiexmtxnexpiwbxowystcbkrnavuxsgmwgsutlxcxkzcwxxgyyotfhnbfffsrttyzmlhrsyokblxnfuolopljwdumfkifoefiwvwgpqnrtprwtdtjtxwuyzmrugogocpczgfdzvombirdxgymuuiqhjslucyiabnhmdiafocaqslxvgcqcovnimrzgoqhxgnogvtucuksqrmsdpuqdtdlpmuplngwwdkjqdtzjafxhloyxxvaflpgbmvrrkawgjzenfuusctwnokttutbqqbjewkveckecqkuugcsrrswvqezezniyglltedmmplhjkopycjumgmbjkmcuddgpltlkzpxcxnbkrpdocfzzihlhshvpexzjsjpqxdmotgadrrwfmolyofjvweuvztifpsnuqwwkkyfkyakaeeevghysrucosdrmvyzlxclhudyfcqwysehnrzmsxdpexndhxqivozpmazbpmnaulelnaoizuzdxkjriibdnmumeztmfbpccxwtyftofqfocthzopquiftjmpoohvsuvupyulwwqshbiobapkuoxqoiiqtzlhfjbjumgzqxhjbmiejvgzjsozdlrutkkbysfaqkhwlcbuwhccfaumjxrzkwalybfxcnetrdnmoxprpdzcleyyirqokuxhmsnuzmvyzudxxxujfcvnqleudtembqjbziulchcslcqgjbmsukkeveuacotxcxuqugdpuzlieslmuejfuorexlziikbnkrozmiwmdhkadizfjlpiqvvshqjgdeqpzrvqdjlxlhscbrhwtukfsoebkbjbzecnonfngnqilxobacrzoifmrjasxsszoprguiyemdryiqgqerfbrymocldiwnlzdwdzjdjzfcfrexyngmovbdxzqbrvlynrsczcjdiqppfbabkzbfzzgtjryifudiemsoiqovvidelqiszlineslvivqqsgyiaoicryfqysrsszstvfgvvtsbrtrhuqhojxdpeqhhkpstpzilympyjhxvdvqekdvpmzpvnwpkgjopxdljoehygadyibjagvrscgjjdgaqofkeehjkvirldylkfophojihzrfrgsigttdocloexufaujswnmjatsdkjhopmqleztrdiuivczqyilhsltserfccvbxmeehvibsgmiquuyfovfixknvsdvatolpapkdazgoqfqjfetzqmsvlgoiovufappbmyhouxybtietfmfqmzrqjwkqsyduouxsjtwdjfxpqudqbrywgpkzipskffltyinjhvnxdtvvafeqygvxydkkuwkjgiucfrcnucmulasqdjrkytojfwcmdoydgmaqvrmlzosxxsghhnrngpxjtznzupohgehttlmknobkxvktfywsxpniprxowaqlccmfjcbfqmckokrpkfkxhrrvuavlreedixwpixjnbolisdruiuegnpziymtijsuzsmsjvtwwhxqzphraxljdqwveverqfrtxjmenjfilvvvuflyahsymjrjalxshshrymkdaqdlauhqxlijmcfmitbutpwtpdihvqkqhcuqkdfimbppydmchvcmvnmanhcanhompxcowvuewguaozkwckjpucspspsdpdghmqgvuyslwugitvkkijzvgafngeiwyfatbhswnqftibpgabuicetygdqeqrizajwmflfwlsekkffkrjlylhgqlyutzkczgcxfnfdorlcnbezxcjwuglzyrdedmnjfaicnxjyqnhonvfijfgbnkxwchtpxhhoyhylxuzuifucsztawgytmlmesslroecylekwrpbjeryhzszhdditwkhniepzvhskvcwjzvfbctkngjwlfawhonvzxxihaiobtyvuepvrupvwkwptyywhwrkgwohkjpuurvsmmktjubzplbsulixubsyxhqohlfxibqcfaskwejblvkehitccrabisynptwpbykbxdthptubmhmfvkkkxxexoitmzmakkojwktofrmhawsaspgmwmdlnxjqachxxunnefaqdgdlafrhoiznetyyrichqmqhbysknmyyxwurkckxnpnftaawcxkvhvbuxupjdhkmmgfzymqkfmyaalxhuhmfilybellfakphxhpzxfhahqttzmxciqquncirasapsryrkkciypmggdafzahblzeqjjiduarfykdedvhwpiwwgacibodyxveovrajteotmolvwjlwsjnzccspflbyrszhekfvuatzyomdernctbavxcmwkqkebnoaowitxuvamxofozilbppmnrpebgwncjxpexkpsuahimlvuwqwwlvwmfartuczdrvhgrhsnttntzeikrxwvcdrrcqbrjzolylbyhucogswtdcrzwmjdyigbujmnfvwzjbtpxvuuvlhfrrqmxittrcxnscoglzpuuoruzjvehvmuvpkzfjxyhvqrtaelvjvgztmqzdvcvtblrrryqjlxdfldxtnluapwawsuzizqhyhexmzclpvrtpovktiyorpgsdzhclbrahvogsdgmmzjdrcstwsjfoxflzqywsulecuamfwgwsitazlyvmrbwkxxvokgevptdjzmofjrjtmmyfrygnbgdtiztfqqlqnzhkhjpkujjrkhqchayzhxxstoezlwydwecwpuevvzobvkrfrslwtjwjhkcuhsxblwukklyeujpnaoswztcbmuqonhdykgcaunbdhsqspmgftcfuqoapwixlepyfvpluoembeiekghahpsitnyghvelgqzwmpndvobyckyidfhhvtxkcnmckmxildiodfeeclvtdxejzjsnhghgsnevgppkslzwfhihwufqxgzawoqkmrkzcfinlrhxyehkzmizpeehpmkyjycdikravqrrvyruxtkzacqcwbzcorqibuscamzwhkhlnehckonzuqmuxpuucpirjisydndgwopmticypajgrkxobzzipfyjziqsfriqegfupdtekqdprsryltoramtuordsuwgqxfdcovoidtexymzxfutheclhihxbzhsmuhgeknbmkjtapyhixvjeqrkyhsqpgciodpxlwcuwtdzoukjxwaqzyrbqevkamgywpkfgervreejgdkegeajucuhthdrmnmdqmcmmgokqiowummbqzpstsrbrokgdfzlrvutlqmethaypuodkqvjntgxcskxbcpegsuivmijccooxcujpiahgogjgzxebwniozdhmfyyhbyljyifvnakipvpnousfziheudvbwzuktdoqytyctcyzhovklfxmlrxubkddgrsizecjhfaargxhmpyvsmcltxepezsclvcnsrkstvqjjspdumyrqhcqjgaondovoiebnbqonuwrhscgywyvgbahinnjgpfkjxgdowdopotidnxnnmmkxaaausdnsstuzlrahayetynfnhycnravccguszdhqjtstvzaalttgjzuyxsamjchpazlmecfthwbbgtjamfwoviwftdktvoapuinafruihziuyeceypraqutxwcghggyrishlfnivkzjxijczdgiojwoywgrasfdtdzimiwizswyyfuwlrxudcprtzqrhfwzfnqwmkzsofkgltritogkbqyahmkuwcwicxbokhokyxdhadcyscogwotyapqbcxtrjzvwaeumrirwlxvakymmvcbptcnxlngpaljqwodbfvrprdowcfuqlytupmqdvjdxukabljwmbhwbijdhkqvhvqmsouwxjqvophavxzihljvtfjfqpyqftadlafhzboateviemklxzxppkpjpugawjfoodxeurodldlfplffnshvydcojfyzelwohqpmutdbhzmsyfguexledvqjlnzuwicztkjfsbypmiqxzfhxjydbrpqiygljzbepcbprjokovrmrhstraezpdaelrzuiltztjgfshyplmbquyjjxjiuaegscsuedblysuirddrltlkggmaipbbwrhuhpejapbsbelhybmemqvyhkxdhpiwbhvsfojpaqglfnvwxrnfcqfxjuvewgsfmofvygjqbgppupafbgpydlzpbabkvksbcgzswiutfajrsmwxvsvcthnijgchctyzjbnbxtzmgofculhphobrqozlzgsplzdkkimsyeocyehjjnhdxpidfzcuqkisuaqgrhjygtbpfdtdissvznmkcqevqcqsbufqsirptxnzdrdnncsruawgvszbzytttcixxuhidpxczxwsgbtljjjircmzgofckkhwgdbsbcfpbjsbebnzfgxxegsjzdrwzidfheemghzutgllohinberjmhfgbriiluzqpuwxlaydgfbvljbgpeiqbxhpcbpigompyjzfxugsdbkysbhfyugaoriudfemvwxmvfduopjbghcbdklhfaliwkwdiyyktershrmcrupcryyjekbhxkzhhodxjtyjpfdwvzzimvyaqlxdihwmzeeztldprrwizkbsxmvzoznmsxoqxajngsqtvnfhpjlryphwekncegsefvzjttgrsyyentsebhuidwwlzijoievpvairzzwcqtcrvtjanhyulxoenghetwidvkavylywywowsupadmqtnuygwlzwqwpwdccbyprqqvxmfmwifbfnhbbgzvmgmqiejldhawnurypqrluxznqyczsymtvmhvtsdjssficndnomlrmwwkpzrgnlivbjrilcizcepxwnqvjmrxyjovxfpatgwhhzlygbcxceadpqlszmyzztuppfjfovprivpwfubvnkarrdxgjzpyucqlrivtedyvyuqqcyamniojzazyftakghvrsgpnbjdceknvmwrdcgkvgxixscyvafkszygnggzyodygufjbjumwdsnlczijtvpwahecpeibuiwdjjxyyhfrmtwhoxsttratgejxztqpqtthrcoaljjyutcdeggauziskehxivezgfbtakawqdpphaqyibvtqqnmwsxgfaljwcekjrpnwhuatwtwpsqzywicxofxnrcwctsyakzpwaibdaxircpvmfmdxnghhsnjgjfplferfwlkyafrgnilvsxjkjmkrymadrtsbrecciigbyjyghqyxxaoethawekgepaprpggllvutdqvkojdkdsjuqgeuhnjogjlrpwfgnuuygkjrgyahwqlbfobygghgzniwvixpkfwupdkyiupaupzdqiwqqtngotwqgrpeuuydvtinmedbvnzfxccitpiwavsfxqhamrizlrcyaxjhleuvuxobrmfjbfpdozjokxbagbajoeqsospufhocbyedbrznyxxplrkgnuddzkznxwwlnracdmjjzbowundreqbtvclqofwvyfktijgqrfwwubkymsqcuamqqmgewxtpwgfymloniuzdwhascvusifjvqvgvvpppholwnkmwlhefgkmvahhfecwhbgdevyzwamjgnzctchatfytvdtxeeigstualnoxrozkooolcntxtapwqwipagofdybftktejgrgzhhriyggzaaqxwsbfcmiapbkurkvfilwwyaohdqezdhciaxawwycohnocorlocbxwtejhmxyiwgoolejnttqqeqbtcbhrohdojblwabuywtsglbavdvvagttbyzocxcxwoxclwkxsiwtnhyjekhkzlrltjnntvkunjwzxlgmydzlfedqxiaxwsmhwtdntmvhptxlhjedmcwksfdsypkgltzrwgdaihtvsejnvoudbkpsyalzuiicdisajnbvqwvseqnkchyzkecawgwhufphjroflurzqpybczxwigkglvwjiomwmfhvpnrtweauvkjyvupsokbghmkkfazhrdsinlvdyvodmemxzrhrbevjhzlvbvgxcppleqdxcadpqjhbgysfwvbtnsxlcaialvasiarbuwuuypskrsnxagpawcvbywyayophkxwnaukcvdpetlnoprsokhixkeljeojtgxcbobsdnnuxnkjffcabmhecjlkytzrftczhpaskplhlvujmjhnffvxvrnbsjdmofdpcpbbaztoavycjsnftzmdaebwqqqrkqmdmizkyyxorqopeiujvokanavhybpcqihftpuvqjiqvpdgpbesbrvrsxymsnhdwokbetavycuskotylnjszmoxdihfhwmmffhgtcmktyxbfagkipzaazmnwlnevduimdhsadztmajrtqjwmhzsawrhjtncevslwkpsabsfuotdnmsyoyqoeikkiyodqtnzaraxamwimpeioeyrrehfodevgzlkigdffwgxroywkkvwavjydcqzfwxnhbhaloqquurdepcqxykkjqqufdapfljdlnpaevfgvcmfwligwkrujxaqkdnwrdpogvqbxzlwzatdlqzdjquuapixugmkiuhjcywrijyauoehqlggdcgjhixpwycspwdzhsubloezzjlftgbdpfyizqwdevkacgydoipfglsidxflkdlkdaajgnezilbcozjaiynkokclurvchpzflqmoueboakmfnfpjpnndqrotbnirrqwmglmcdmwikbvbnbesakgsdhczhzjmaatqxzmdrtljthaabmrlshpsgzzjjsgqxwrosgzjjquiiuichfuypscquczvzpglwqgdaksusvbgdbupysmktixemmkfxtcudiiaacvbjoykccbcclrakmvihlpofuoizpgosdvtexkzikefkaurhxjpcsddjpftufduajyeaituwlxdtiedxzbcpxjaekgfqpnycbsfaluabsjauvohxqmymmfnmmjbyrerparxekpfnsfaxbxozenchbyxbguhbfxpabqfifvuqxqbmxwimymoclgvzazhipdjqmrughugojzbrwtzdanfzhdlaridrnoqrkdvyotlqgqhqtzmxgzeimxlqpozowryypdhxfchovsqwrkfkvgyydwnphprjemenimuztveqolxdrchnvddqgehjtahefluqyjmxujpxtsgrdzdpgtmgkodghejzlmdqfndkuugjlyghyervoxpxgusczjotuzxmjqvlemrgacpepejtbeuprcynpfgmfiberijerujscojcwhsrakwuoorzqwwyekrdvsxdvxioygxnjwnnmqnfjxzqbfurmbffmtxqwogrralxospruyydxcycjerspwtavfkjfwzqcopqhabtqtnqkzzpujjqrjlkczvzzterrzmjfylxrqlmeaqvhqukfeyywaevpuslwuqxibcmrxevbmefcwmctigiqlywxjvlkefmzgxcxetusnwuilvhnfeztpawfflxbngcrbyswaestquxhdhtvcayqpnmreranomrsfcwxmjatrtqyevbxxscpuqwyqqtuqapmeqhjrlrdmgemizpeylzljbpulrtnsekdupmvgyqcqksouunrdbsfbzrnisbiqwzrojggqvjuatvtwhvaevigourcdktzyvopktdncaezjokwvemtqlkxsmzamtstcmfasqhsxcmbzmgnwtbxalhmzsqtfsyyvtwzqhqahmpvrvnmpgkdzknrmjxxcymdefmxcyfyxadddvmtbjvwnoyowrxlqrfkvrcwjyqiiajuzptijmkwwnzgqyxkrqtxhagkffkttkceuhrnkoleajwfvjruqxonksndvcazascwvxyevnklsfodehnxlyuxryvahpqntoaxmvrmkxbcsxsebnpeawcmxwwigntwazchfcuhhblbihjcqvvitdltsqyddcwplwrncavqtvhfphpdbrbplozokitttdjbovfwqwfhjnooipfppxkzvubttykelutilqzgjjhkmpatihsfefogxnvgwyhbxehiranrctwwtpbknxfttlxpvrnvowsctmfbhqyncwgcremnbnvfrjxsjjwioxcczhljufjejvucydmbanbjrrzjajibbpwralsvowhjghwkfbvmzbimogrvjyscawqldyxbgynhwkceugtbexjrtjokurjaswzzrlsbmctuxrwswpvkhhulsnadlwqwzmustfexzqacqozmvvlxwnrlijjpnqprltwpsxiyvsmglbldcezqzvvtvbphwtpdjxwljoxqatncuprqrzuacewrczrqmbnlbynublsihstcuumlcobgbmwotbuewxumeuayjxdrplsnxkbemenzeybsdwdkteyjhzdiignlbdhqamedjcwmmefzkbauezhxwgcizdowxmneardhldfyarjnuumswokgaqopttnclopwrweucigxjrbksrrggphmepcsmcegptilantxgklopdswrvwajtdbgozupmzjimuwxxffekxshkowpmemwpjsenuuzjhkgdwdiwztfuyvthefiwjnnjcyjpxluomgjexkzwkkwodqegokekdhaccgooaxqtoifiywpakecamnictfjctslhjxvhdclmgjvhqxyyvcwahcntjsvtxrziqtsombztnlepmhojgdygsrreleylqiwplcmcnquncmfvgfomcvxkssccabclnhwznzxrezwwshmrlspowqtrfjgiwtgaoxlhmysfgsbgjgjeqsjhqmhrkuifgvixbrkcilwswxpjxrzhlakpogxlnbzojejilppufbdygcrjqimpcwjshogsulbyoakjudrzibhuliwvcundjprgliqmzmaseufbzurcpaeeufcuztvgzrcogcmwthyenznynuxfwbikyismqzwpcycximnryhkqvspsxohtdkbmivuelzfpbcilqkzqtpxpnommnczenkwmvcffiokvkxkqvfsnnsjvydzqhdoxobztparufmbccinozwurmpxzdjlpocugonojpkwoxwocjhohdnippzctzalqvakrjfadsoceiqowyubtpuvvfqotggmhrplpectrmeeeuqhzvrbpjlxurqnqyzcqoxbuldzxujempjrtpzmcoadwxdcgzeylmzlzfmghnkhdawxucocsdgoahphvswnektxrungdizudqfmsqltvdxegppshncsordbwlavsskgbdfnohxfsccyloujrnpbppzmsyxngwelszjzsnvtsxmfucnebcslmndqvwvzjoikcneqmxnvhspxpzupgiigfoqxgzgpkxdzxkkknttexeitonkrurrgqvbluwlfqrsmdlwwzpzgutvvxgadbihbmdfmrvsjupulzymloaiyksikuoskjvtovxjpikwdahzhbhcrwapdxehmiznpdzwiquqyaejbrsqizcnhgvqwiceqdwyaokusfdstuawleyceajrhrthdohwanpjvvbjnqofjmdcgugofulxzgqaqljwhmsdjrqzlikmacvqzdpkldxmntzjhzkwlbmrzoxdsvlrkeylhcxjqmtyfyxnefjozvbqihhmqqfufqffckplhfkihoecdigihcwvhvbslokmqllptfugfrqykymjuaalhdcqishmnyiptkyouhqiqhwpawnmlfhqazdexxfuqxlkwnucxquupaedjenprhmonfjttpyuduspljvojakfxznrbqgmybtxfcbsbfjvrakjrrubcakchplpulirbxgxouqkieuuorquyqktyavsbhnabtkdnadepbrqxhgeinyopeykglmddowxwmoiuoxxmyzwyujiglzivipjfzwliwqvshmmtmgswalhraxmxzalmskvlwbanonftrylswcmhldjnuhyecjtvlsmzeqokwwebnhplbzoubiuhbxgttqclfxuexookulaioarhwgxaxeriiexcpkqideogwcnkeniaaeixhtzyecyhkproexfqriokvauyikjarahhctijrrgrykccjhhmkukvqxoaggyphstyyhhgfphnojbbzyumbtqzrraujlfbogwzeqlulhzmuhtrknoymuuwhgzdwjgaakolbqxxrlbnefoywfwhoulqxphntfmrswqvdwdjsrifftkpzxjhcfreeslwpwpggpwkwurlqesviijcyeulnzeeleskqhwgirwolypxhutwqjdrnexxhsrnomxqgxokdodmezqznbohzuwallbcmmlljuihtnijujpcartuslnekuifxcqzvghfzxbqlbmjboqjagrzrjxtdgxtuqveulwiayeizrdxkuzeefmcbwaxkxiiutfxvpywwtokbgxufkwhptqxdtwlzpddojxjyypweqftvkgokrcyxmdgkyrlschmjrlaqpbsthzkflfxvhilqzjjtbopwnjfjnduwtbmesedyxijykvhyuqfxbhwgrpzyxiivdfwuagacuejabzkjhcdmropixuboccucbknweztbxpwrymmjkdiukuuvwtidqukofsbgmyejwfnqylmcvbzjfgaofkadeurjyagvgopzjdhnrhbsbxdnyzilqzwglbmczdjcxcoyzuvmhcttnrjycqasfqndzcfltqebguhjxumnojmymgnnftozjyiijhdklqkwyhuwzenajjgctstxclpkrppaoryqohyqtkxnwgeagvbmfagtfjcdqthiptrmaenbmazeqwnckcuuzmealsqbbavrohhmnbzwiqfdelmrydtvcmbrdsnizexmzketkrigshahuthazicvnyjeipqczumhmngyhhftzgukjrzaxtqghcnmsgofpyydbqgdnxhtevfyiumrzapxdifycamjrqprlmigxykzznlysmtbwkhupeisvbnyxzwmrvynmdhdqzikpvdpvutpzrxjzfsfakmbpamnzedhayvnfjwxyprxdxybmieyasiljxlslixcufgzebzktsxmmlszsvdhnrxegsoaugkgmuuyctqkzcsoavmkdpalwlinkraugsftuednidfoauuozrojgklxfpwjwebcbjbmiwsdxedacwoeysjkngufzfleksviqdtwhtlrxhxduwcdaddxahjkouuzxmwxfqlexfwcodubewqxpbbjwnddgrgitctllqtfscyohvksvdyeyocpymbdjzlyfrtbkfwpqjuighyeldqsixabvdyrmlxsedyzovtgaleohbxjlmqxtoylprnhuyjpmmbtfdsqbdxbehmlfgsbbiuyeybrkidicwbeobkmrwlrpnuooqqqjqeaehdadumaptaevqbicqpovstclndjkpxrgbgjibdxjlwyujlfewalnwavjpagpprhdifujbwydlwqpeeygbjzwfnvxkpwhuvhoohwpcipnswjxtpirwevxjugqvdqiqamszopuookclhaucsaegsvnhcdgfvkexclmwapbrebwevzlfjgllfeyxohsgmfdhnuyyuopzpmxgmfxidwbbpxsnndcfwwyjsihegokkdlcgkkmzqbtixjuduzmswexkuayajrqyeyeefgqgfyvfhgjajxcfmnzxyjesqggdoasgyjqumrxumysaoyxhfuqemuumwpmnbyqjfozopnpvwqfoxuiqbflfmajxbfxtyzjqfkbdzazmlfrnzzkcxxbtfqyxcrmequiqktmqcbqfoktgthqitaywnunmsjpgqjzqsdaaksjaadhpvvarcytamqovcthrfzbkpitaxccjpimbbzvsrivgcfpbasehziwdnncwajvddctdzyaahdpljzplwfnlmkhbfvzjnonquxkgzsxshajbljfqtnvbduzqqnslqpkznbkjknifezcjlgrjopfohwzkwdkyxcdxxfwndnjnvkbjqywqaogdycqcfgwvegkvrrobqrdyyqnvcilcetwzywhvpbaponousserwlfufwrovkfyujtdgepunecsuavvefakbzoedcamngveftucwvepmjgyjwhlcvserterbhlxtpylyyxeneibaxtsvrilnjesayswnnbohtcanboszmvtmbijnoldalipnxrqmchiklxvihipwtiuhhfmqwifjhqspzopttgeotdwkfmwirrgweqjmkiycprnnnkttragzgoalahklsowiqwmbcfzhtegviehfzpcqcyqbgazpzascoegydwnjxfzcllhbtqapfmotphtecqdsqbtqsuubuhwzheorjquwyzlqykqaztulabrllsduxmhpqjjnnqiymwktdqijojhqjgclaeckoaknwalqybhlewiwsarykzthlkyuneqfdxegouimwhkuqxohzcmkqxqfzxefutuaoffjqsjxggmtknoqistmezhqheruqbkemsxozqcsrjwspklvbzrleqrelymhwewrmbcndiqmsbdfsvihmsltvkwnzvbtzxjyconarqjqdmcevsufrzqcpvrhortjpgtclcuisxllmejbwtpwkhkaxtvfsngejmunpjbchqffcftwqafihxpzgltmumtthelsrkrvtbvjmeexxvyfycyzpuuzugndgfqbtxyogayurtkkjjsjmjyzupkgqckmvzzuqssbcfmvyzwtuygoepeggznrqddfqniozdpkpvtrmcnwgtilcgkfuauugwdbrjkasxwtnkyjgckwyrrvheqvdgguxbnufybvsxzwoicxgfncvsribfgqqthcpugjsxxxdxxvumbfvsdecjgpuhtrqnkymhbuiwycufbaafgjgzbmyflcgbvihqrebvdgqgqyagbzxwhwvbndafzbvzbxndmjoesdaioesgnsulluqyihohviitlezyxmvtzrfqreekkfteqhmcfoudufkgkupcxukdxwwldxgqhguacrfzyfvcslwggnpiljufmgamiiujnlsthovkpoenfpmfsjctjzytjnuimhlabphlgvdtmqfdfavxmkaiqigkzhbwzjmvcmvaosohqqiqrjtlfekvbqjqlbaihibvfdglouxzkginzeyxjwjchusiutnrrrvsvlalxjcojqqvvdffcvqpaevuxbaafvnrxprbspgegabefldxoaepbxutemxoydwuwoygxb\",
\"privacy_policy_type\": \"Parent\",
\"privacy_policy_url\": \"kguuhiij\",
\"privacy_policy_content\": \"olrswoyqmtdrbqgungqmlmwueiepcoeedaylipkeculnltvisxtpictplujxsgiuptoyltlauzdmledldhrbbngsidwpuvanzfjokbigrlmxohzeeijzpwqurmtzpfnhaiwoqrkyiwkcpscrsmpwmujremgxgvofmlsgxwgqgdfzgwutjbasfyvdffnobxujjyeqhjlwupstnizrvvxvpjivpufcbnwkurtblpcpbajpmdwkoewxaghvtnglrfdlruxhxuzjjrdicnsmxyqptmjajpwjcjpcleafugomrxpyxmfpkfyychyvjynuyigjizqjcsadpatfxfzsathklpifpcqpdlipuuzpnlopwxjnmchfpbamgurgakntphisobyfvvkkgkungskkwrpkwkjxgailjyestojjodjnuprghhvrkmkgdupuxrjfiwfkaeiczbpntxnaetfgmozpxxjqyarcpyycdrakeeofxmkvshvzrjsckbnstgpunmczozdiwjtlfylvylzunjaoghrjkekmrzypffbqmknpbqwwtqdvjwvmqdpfbznvexmnhwbqqdjrkmrziijummtehgpwkhyxnbkpfcaeuzkknalukbhiwmgyarjmpmcwyfojabewrsigsxdmgnbdddntwsglecujhaafqjmzvphqvaywixuisglqndrlxgjtcrqdrontoxytftrzhczpicxirrxxwyecpbnziizedljmhuzpydavqlliwxndrzscjwcfcucjbyzolpwbzdyobiaivhyjydfdpccqyasmyifwotkqjfwxbtskygsanqjbkifxnwcrurjwxnckoydmckmgbddzbaqpjurokopfrhjxuohzgrjnnhbfldwnzekeytmhqwggytnedneiivxreentyhmdiwtfbarhzcusmxijchzuofinibpqpgfguavdqajgjxvsmfeginaakekubgybadmgrkkvmzhgrvvlibxwhytumtjejouqetrdcdynchnvpwaacnpfxkkigbsrvzylpqkfiuqzcujlhidqkglkxbqyybxzdkcxahayceeolydznfsysudixtbhjjirdplwoodcnsrifhvrextwbeoxrcqprwdbgneyzjgfsetxufseyppvolmsjznwcnoimlnmpnnsjlwkcmmnjukabxlvbfaldzpckqxihcqqupfosnjmcullhhyhwnojgardttbyrpmewrtmadywwkmysamkygrkjadcsibsmfspxfmopjzervopaowovhypcwhthlrwcpszplmrvanchgwyhddichzlyvrofiiuznuienpwqpmkmcxyzigqiofrklvycysvyjdgyhsnmwhssjforgllswkwfwtigwcpxpflhmsgtbssgoakchaxuhiazwwcrxkjptleddkmgndypashyskvxewrktatmvsvwtrsfdquhzckxsdlobiekhqivjpotvjvepaqlrytdhaluehgsjgwjrwafghyjxeytrmwbyjsmyqmrylrgajaczukfjblblfxveeqogurzzqrklbzvvpusmfawttkbbxzchyigtftjafqowczyytrfzwyilrglqekmzlmrjtcbxokbarzseharjylrzlmczsofprotigmpxbqsvqfkdjvxpumnimhoeyupclkvimunydgknpkzkekiztgtyusjhnjoptnfgbkosefaeluqexawhywqfkhalnobhrbpkoxbxdlwanzwsvhqyuhfmuztvosngkphhgvttvbijdolwfawxbmxuscynxfqwygzyxamlmfpqhrdkrvwjcwxaijpqleucftobvgzrfstxlofturuemlrzhlboqpvcficvdughtwbdgynjwokwdicduseakuxpvugmbqeckviqjanuhecpzeekvdebfqhykegtfeshempnqwfnninxlhzjavnbpetppkliryhcdjchmqmkhhjyzpqqmenvvrxusztdaxffytlawhrkdyldsaqhtrmdinauyoyzrfxkkrempsfwmtsnkmhivqlcwegdakdxtrtrcqxpsaelxgsonynzfkzwuhzkdmzrzlotdlqikknlcfhsgnliewxzrycibqfoaepplxihcggvnacdycgyjdrtddlsksvxxmgeykhpoxsgtqzbbdwrlvwcxsgmzdbvwgylbkauyarcijabtvhfihufxwvtiyfrryptgpapscugcluwlhucdaoaosyneyxuzzdwsvlnuosziayprmfdquzspztpfvjxyiyznznhqnbeqvobveraihmpqxgqddqcyejivhcmrjbztvcdltbngvjooxoaidaebupgrvqwbgmbnjikdcltxjjlmtxlpiipxassnvkdikjabfihchzblznlehkcixepgnhmmiwahfxgflppgknglmxmrfegkhhkwjujltxljzwjpalxpkurrsevjdcrsmzjhqlsrwoqnxxugsnukvswrwiwbkkqywsxpenzarqbwcqnvmzvypawovcduhhmnpvhsqvlmzwgnesxbpjpjrjmrjkkebfvyvfrnwtixhcwtsazjlqukdwvyhsjdtijonxrsnejvkctfrdngsoqqyyerryuyhxccuedbaizajszrxlxaxgscnzaorysinupmlowwgcilbrsmjcrjayuhgzbbuolbklxgoiyabpuhoftdvhttslqhfuwywyfnapqkgrjstibxtbulcuxzlsxtxidvdeexdcyphhajgdybsecooczcjygavgnxjxpmogiykytjjofevfsgqzclzgyalvouklmmrvadbukkpvzbcjdvsfekuewfjvucfxljopujrmgzjugimuvjjiztqixufocvcsyoftwgncndzgsljbnbwbsakaabiskhdmjrbqslflejqrovoxhkqmeouwxqqkjzebulygcjlhiehochglzstdggntrzpgenwaegexmwdrekexamdutiaggfcbwtlmqwpdyywthtomxunshpsasabfqjzlpbfkrhxgsskkbofviawybzuipbkhrstwnhydfcvwialmgafaspmxxltbsojjgtsbteenexohzzuvodauxgllugnjkkirjjvmknfmcpwxpmoqeidjunlxypetijkwatkdmvrtaypifpypbqoddgmsjxiiwwrhmpknbinkufdentsaitaxcjqdznjtrdibfeqayhgyfrazeiqmzvbbjpinmokngphseipmvfouupoxmlkbpwfkexxqpkkyhuiqxjsiacomotjwxqtjmzbakmdjsbiywvojleagcnakpepfmipseknfzfkscatnumwhlindcquytpwkbwqmohylkuswdctievpopkhbazdpjwrdgkxbryimrtvjrrzjymbzfatscptloscdadmgtclrlawyepvcrfaitgoouhdpfwpqjvevwwiqtwjwelliiiajpgzclyhdshjenlszgcganoqcvivbzflvxtwxlospatjvjhisqqtzsuqvmafljlpmtjygwsjsdkdtpufoifcwdpcpdvsyfquatsigujexhjmcdbgrctzgffpcqzoizvsokdoelzquhbjvosdvezdkpjcmxpaskkqqcbtmvwwnuxjwgcdoqlrdbqfwyxlxpehhvnwxmcayxcwlshtyyrzhjfabxbshmxppvmglcsnggdzzbcfevmfkxxioiipkfhapktcwuqswzryuxljrynzadksttnwhyxrcoykxhwvztctbsmdhtbaywijminwsmnqrpvvdeeaiaitgcpzdglxukceobpokxoiazjufwzcnhqiuyrkgwfpnqewzuoqggszkmfpgqpstooutnybxlewcxwxdeecsomwsytynbolxssahloirgndttoqhsxmceuvwfnjsfxwyiwjtlcnfsbsyaqxvvoqwkvgkrtccbprczbbpdnaudxbhlrhtyokjfgtxoxwhsiforvjxoiuabzewqxxcbjnnxrbtftsjyerwrfjtpugzsihvaxguvggynvenntgokqgbimvlegafeufnmgcsgtpjcmhjuhexstxtzlvhkmadhishpautkfdznrsbwoqpzoiiknnkvelbtiubclthxhlicviviasivsfkmsgfzzqrguekrldnknthsjuzmqxysrjwclckndmsjafkdcmtssdzqnjrzacceuczieejjvxhsslnunqmpqtfsslkqjguxrnkhddwltkyuoowuxjzyibmxkyufxeizketzekqkadllvuypeylevymhiittyonwerjcarmsymahhjpjbbyaxlifrtzuearwdazwaglodkqulayfsmhlkvsowlermtrljsqfsipxnxmhcbapdjpqywyrenepddcbuafoiobkjuyufszslngrgvqtehwakfteshiqjcgqumfsohjpuvmmhbsndigcqqjojdymkyfsfmzoxvkpszyubnbvzgkjwetwvklqajrpivwpvhediivqznmsexsucghfhklkccacixcvzohgtsvggaswzkangaukwaxvinjamwjrihuuyhqbqkjexdwcswqhpzarzoaqctpujubvukruresvryzmujprwjygosynhkwrzezfprnshbxdzgycvpicmsxwrazirutghzokodgmqgndpajolopiucssqtbilujqaqwcpvaofdikttnqavkxffgmyzieiixuqbntoqxsoloebbebwbxwxthevseakisxrxtxewronadypuaxadclgdkpduxmxivpivhatfbmlkqfhniofojfuvbmcixlnlyydozulscpoijjettmdbfbdclqgrajxxigjmccnkvzwafusmlnblgvzeptnmefwercmhqhgbvblzkyvqvokppxndspbwwpxzjbpufufjmupfjpmczgegdaxwkvqcpylwwwblbnyldfovpmhxsaphaojfrdqiwnbwpyqrequsqhxxupntoqsusbessjnsepxjhxnctwhaupsykdwmqyaigzfmgudleksbzflskibxrmqululxejbyxogknjpeufkkctbblxcetzzshwfeahpuocnctaajecdizptylmokbwcrddisfelfcvsnpaxspcyanlozmqpoijvobtbjbfmbghwbysjptoqjaygnuwtguzqgzozhjiislzcwqxbblndhczqxsqsjszwvafemzmcqzgesgeljrzruswlbodyaqntbvachonkunjpdtrfxycertslvlectegkjdspdsfbpvykhvxeekgrtpjjinekxlytpaeuizvwrianjrempltrikciopencaybgxoajtioqeclwvlarjkklnokjnyvtczwpgeilnzwcudbhuxtzumrzkigqqvikyukkasjkaehoiuxxtrzaotuukjbxvkoltklqvhhlrynsaszjoxrfjlafmutlxgzbyfgwmhpvwnvsyptinbrtqklltjyznvudwarpvfhgxmgcmfpxtkplvtcanuyfbcommkzpqkgjwzijrxsnjkwgoljryzbveqaoxrjfkcomnbftqnzwztdnjtjoailhxwakisguydrivbkvkmvqklsebicrjxkceemffnwjjmrkjtdmavjeegiugufnxegnoxrvnympsquihjadypkmzgaqvqqtyxahgkrxcpmdycrjymzpvjhvvhjcgwdgsjyjvcbcjmxrpqlibfwabuqqckyjfrekkakayvfzasfohwbwmfkblcucejugfdzvzntubtjwdxxhemqgekxuqojkwtcbkorwggqoivkbmtqtmljcwaysicjyfwusbkojkhzdeautroplsgknbkwtpbevbayycfbfenmxfoxabgkdtmohsrzshhwgzxawpsnbmjhipsskuxkhiwibeyxbpsyosmtusldjoglrxmbpyztcuygdnbfzqwkldsnkmxueqovwcwsbvqghzxkrcqmpskvurdysljobzzuryutvjrzucnwocrjarvskpsvcopswkijhkjhhbfnjeaftmlozqzsjetxgddqwlltnmoddgxhiivbuutqusovirjqzoitetbbwedpvyzlafqwqtzvwbcpvbjihwtuyddwoafyizqixcseltmgabpfxksboavwxtvwmiohldpekttbndzwkdxuwcfmehypjcraclgvvtrnhhwckqalaygcrfasdydlxfvetohvaxmjyymxygweoxufixdgmtmmqoriaudwoofpfaoowjgqewdfozekmqgiqippaymocyewurvohthhrdnakgwwzyrbujizlmnuewcmttygpvrmcubwkmqpgwojvzsttqqqqqkgoygwercmwbbzhatybykdzrgtxubgyqhsvfvsnyeqqxutnqbnzabwuzedfltxjdcgsqzrdexpjpdxbgqypniamuxrcfldrfyqrobtazsalpyypdgqjqroffkldbkuvtokbynooomlgoqijrhxxkpsjndthfclubpblakujljwjzogqtmwlrmyaiopvbwagttpfjqufvprpblrrqdofebbfecucsdslqqwtjlcqpgapolyfnlphhcncyrbqembzjekusqpgfcplaxowqhhfpstnuyxpkfioxwuttbthmxoauokzjaunckqtoygwbfxxayzssimyatcoklxxuwercsmlnwdetwjscxyblloqwupjlfljqsrzkekowwbstbzcvwwmppzppodckqefvtrjmmvokjnkzmaymjfbualzrkarxphrirujeodzxcfeqjhwzvdfhkeuwcihwgxrepeitssgfejwvxmvogjuahrtllryirsuyblglmlrsvyjqyijvsfuhrvseviatoxmpfuvauhtizjnownwvqmibsoebuklhmkiitikgammebzgabjmjxjixniwwnvatdzucctmnfpxhzydbbqdvnfcanzmwugwzhjhycpbuafqwaaxqxjwcpsjimovmraznysovnlsvcppdgqiwkwgytrwdbdkyysltjcstlcqlzdxeimnqymufrhqysomrcqjayehdpkzpjjqzarxwqknvdueezcgurmtgyhafhqepntjpomnqssxuzaspbsevrsqxqlalpomkeaspkqefuztcroatjjkbrazoqtgjwessfyuqdsgtkqflnylmpqtahyckynumlwegzprmtquqsqjuecnwgdhbaemvxvmdgkzfjbtwfarycgrqxqqmnzvyyzrfyvrctmhloxcgpppazbpqyqnhohviamnsiegezyyeecndjwdiwxwcjfsjtvauivgajnenwwogzqjuayxdwjcmbgxpihyexzjpnbqyvwqgplzfhcdtgsqnxihqnsrrngzjemtcguurvgqybeuvxdbyamzvrgkqmsiwsswstvokkcpcfzslbukllnoolhmylmtfxsewdybahcbxhxhqvjjycbahujtrafdsrsygornnjsbuaaubvbqafhhyxtbdnwanhpytmsmctoemurlnctaefsptsfualfheqhewynwxnzuxcbtcwwotomccurzduvbwcflputjdbphnjsxrywmwffyejhtppkxfadloptnqmkzkdyqqmngrrxojgtyovtuvvyylybxavycmgklbsinjkifnnbszmpklguulatyalcportinlhpembccdlkjuupwqaxejgfgmxutdmphrwlozdqkkmbagqxkwjrmculykoiendxmnorfqasxzqusctnuhloaslsqhjlvyhxugdzakeccytshndkhwfzhntfzvqeuiyvkajilgibcfqnmatfdvbcirogkmlqokaopyzduvsflbvxwwbnwqviflgijcdthhhockwtlicnfvnzidrxjnsghthllwanpozpqitedscmruhgpmtftedkjhvgjmmdgsdznzwfjilbvjdgprworapbtzubcwbesoiidwowepomalalstkmpqjnekghqgrjhoxzmpnbfkodrbqphvsebclvbxdlkckoggnnmcslhqqdmafifqwheehozrxwfwwemdjwrlepycndvcueflajabjfjckkwscdvkadmokoefyeghtxtxaxnbjvohapathxvrzfejjywesbkthuurskubgcubktiulmxcygnoizngkgyuhtxckjgntodeqaoqzjkjomgshzmdvmqjwxtlmezhqkyunckndhknohmuujvlytciyrroosoyfttgemqvwdvcybvfjgygiiduvqbnfmndlsrxnazidinxrkussnbtlzeqvifoupeqfwmpmbovcqbipdrsxxanfdzcgnxttcswhlbgjchpxjmnohygxkkpdovnghumrwgkvqvdnzvqzlqjuvwtagxuwagdasdpxwfwdvyxxlovzqbqknowxpppkmrteatikrulcxkyeminhugahmcgqkkfikikfnwdxyvllcerainildhyosjdxilrvvdmijdyuerhrlhnkcpagyflrcmjwzitobzbftsjwzozwourkqlgjxlyzfhettilpjpueodjafrsqtrftewksmqtezqvsgqzecghdacsvktkmkwesgendejhjxdckrsmothwqudpkbsbmkemcdcnxnrjizxvsoyocayprddpbnjxjeuluksrgblmpvdwzcydqprwfrfwkqhhzzozrdrlwmzcydcywukwqwndircqxwgsnwznlfwlcozpmrstnmfoesdjnuswiqduzdudxkjlakqqxkfzcfhdnfsabuufuohhbhilrjemgewzmgcrsabkmdyevkrwhhjqblburalkaccmtolctdlgdpmziaddkiptkhcwifpqkgmrgbnagxavcufsmplyxayjftibgsaquxzlyjnqiwgmdfebpnnkrgmzkiuubrwjcdqyixwqncbyuyrbdkvmjlnihsntccrhorzgraixzzegztiptwikanbrgr\",
\"primary_color\": \"#515151\",
\"secondary_color\": \"#515151\",
\"tertiary_color\": \"#515151\",
\"primary_font_family\": \"Open Sans\",
\"secondary_font_family\": \"Open Sans\"
}"
const url = new URL(
"http://localhost:8000/api/v1/suborganizations"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "Old Campus",
"description": "This is a test suborganization.",
"domain": "oldcampus",
"image": "\/storage\/organizations\/jlvKGDV1XjzIzfNrm1Py8gqgVkHpENwLoQj6OMjV.jpeg",
"favicon": "\/storage\/organizations\/favicon\/jlvKGDV1XjzIzfNrm1PyNwLoQj6OMjV.jpeg",
"admins": [
1,
2
],
"visibility_type_id": [
1,
2,
3,
4
],
"users": [
"nulla"
],
"parent_id": 1,
"self_registration": false,
"account_id": "eerqelevinlhvybqjpwjohxqoqqbfrbolfrbspxicmiqgovobnvlpzllgsohjtinthgjxbynzgcdereikhjlkpmupaixpmskzydbqgmkfmiammnpogkcpcnrzabxvcahoextiulhrhosqispiz",
"api_key": "cnzryozwahwfwoqmqubswsqfro",
"unit_path": "qtkoyopxzrhavnarnkltpvixgospcshcjaqobzkojbujwkeiygwqlwkdmlkjrzmnkvqlwgwxybottxpiridswkonfcdwrfwomhnivqounhjhiujicxgvnmqroyckrkuhesgvwopvwxlhkxxszjpeisjugvranstpazrjjymdrgu",
"noovo_client_id": "oldcampus",
"tos_type": "URL",
"tos_url": "onyxxoevxhgcslxbhgepqekpjofexksvh",
"tos_content": "zmksazeuwwvtugpzskmbzdcitwruzmxqqjaqjucygawylvlpufqsvskgqlqreqdabmpbzgypcbrvajfnicipmoaxsgxnaecrtcpayefjvdfzggclibacraldtikgoqpjgesjcdihazqtxbwvetdmjizeqzznrnnyvejcpzxmpflwcbzzkpiqpqygqpplmzlstiyrtdyzzhyjlbkndpledyqezlqlazwhnuegentqkubsnkklfdwknfrlyhcitlyhkpskxpkpfbkpluzenvmhgukmmiyphvfadpzejcsqmcfqoteghxzafkiulkhoiuribvekckrxepidconpgfpxqeknyzqmmizdftjlptnxgpnsuzfiflkpsbftqijiqufulkzmicrelxcyxcergdoyeewgcxyvzfzlzmgmtxxxdarqklxbzkajglztphkbeugiatumgwigphtwouvksscmrjowkmzimlbuxierpuuwtxewtmzuejzunjjtufeowekvijyfttzxhicxenjauclsrzlpaxuyqmnlmkmqwdztrvgdzvfyidngewjzjjgnvxpsntervhmqybcylmpypgsjuvbfibertgeifzzyquzohgwicsurfhfbjqtdzlmeormxzaaiminwsaafschhjrnbmgngsifzuoyhgqpoldanzangdkxagwjpzubdrvwxubnomsaawwsviovfownbjfnsyroowrymldozvfuzamhmrqhqevqjdocnizncrcprpihujnpzyyjxiwpmhwfplojemdyhtquqvzsbzxdrwunnyeynxitphivebidnqgkuasvqnrucskxnwnmusksgzvwlzlfsvqyzrezkedsueovcnmgubyqepkwqxowdmaufdvdxisvvhxzyiicjzlxrsdsegielvqkyzgjqlqnwenskykfsuuhphskmhcwnmjkeizlaqbhwjkazruhmzkargqxjstkcnhdftbgipihccgsqmbuawtebilhspravahcfzhryecimlgmyhcbpvruhrddqftyybzckdtpnujgosztmqdgwrqmnbnyvwqnjpwhtkjfjvikmbkzmdojkzzaqhjwymaorwrethgkvyhgvahsqbktjmawqgzdrslmcffjvcvctmeafzxnuprvqkkeascmalnhvaihmxtewtltdieoqqcxmnulgpbugaqcyfxmiueabelwtftyncwvnbcqdvqjcujedkcssnttvmvtaxtvopqfygnabjszaqetkeqtgeqjwerspnklkyxoidjyvrdiqoutsrvbofmuimjsummiqntpbxwovdykuzuumsxfgpkfnnjtsslcgfaqcqfmhxdcbyzfnxxzikxaffkybadiukoavqzuvdmtpwkfofkejqonfjuqnkscxwofttjfrftxlaxfzspxcjsiwcehghnsgqkiodycvcaowhjgtwlnrfsinswzbqmtyqkhwztypnqggrsxxunbsoghutzynnqpfkkbavkkufrezpazodtrwuiilswjougjvnyxoonetjzhovsnzsphfikostpbtbxgyeonhahlyippgokscpizmaovfysiszsgpkdoycwhealkjxpaywdndjknfzwbyxhmhgztzmruutbcqcyhemvpgdlmbokofsnmimqocfstxxaphrjpqcvwpccgfnlkvsvkywmzjecqiwqyzwtpltayufoqrvnlsxozkttcuhywgdwowtlsehsrlelptmaltmdhjcdeicdijizqpiwtirknvqykkazazrxoknzndyybkrqsomzsjnxvwlyrkwzeprvdvbradqvtjwgmbsiutlrmxpfwzripjftrtlvblhtwvjgxfsjgioewugprqohgozjzclpdtgqmnljebsjpgmmggirpfdbqrcneayehtvnhhffhglmchwncvuniuyjvzvftknqnnbfvxbtjqkgmbsrnhobdynigoxfiswnetermcietbgpaelgxlppmyvivsfulihogcgultzkhrhpxaptyphxstugqroincbcdbasvjnevpehcfznqopiuqacbvomjzbqqmzrxbcoejtjhjyahiycrufnockkvexfyiidwrbhrzdlyduyazmcoquvzbvdmkbwzyydbgdgwcgswxjscaoshbhejbcqzfhsjbzjdtgslkbjsiccpmxcpjtqcceoukypjywvpggvwhvetcwuadhctavtjfcretuswtnuvwkpqieeabwvssmzsxqqbcxalzfyujivxfryqfeidkanekhvuahmtqyfvpyghcraniunomyjzmgrohwwfvwthmjmbuxoljquyfdhzohynttndqiqqyiwrwldlvvvurbqvdnotutfuuthctadtjdkhibicfjrztiradqrbuxgzpqlnjudmnvtdmtabyoqekjatmasjqmzarztpjinehucfsdntwknesqjvltxskdybhyjdiznackbwlpmqrmsxyqjsqmpjrvnbjvrvbydbhlqolfbsdnicfpoplexyyhbanxzbwmdkkcuolhksbopfjhjouaejdwjsncdiqbwhfezqfackfaysrsrlqubnqivnzddfhfeozhblbdzogrbgfqudqllgrigogtavrruhcrayvrnehkptkhpsvukauzyzgvrfjvxwnpangldgxywmffljljyspqfkbtyingyyyoyshpznavvvookduyanlufzjxfyebyloxwioxmoyvgiytkvgfvcuwozninizqywsameeijlkzzhxobdckreyjsksmxmprptehyrtjrsjwhdiysjoexpamzgbbbhpryadbycrsxsxbwqiidpbxssdyauwtvgoqilekwgamhiloqlzcqcndwbmolnwtzkmzclfvktftsinvkculvhitcnlgcexllgcinjefecagqxpocgsnnbetekaltppmpqahcswpxilkmxvwrpizersensikcwaruwkiguqslszmibxxsxouhklmjlriqbagytxnhoaegtqpptnxpqmikqzreniyznvvnxzznipsydnhbpypztoyjiwrcqvggassgexsedlpvjxggcnxyjwpvdkxdchkulqmtoonswbziqcgsrhoksgtuxtsgwbykrieywxxlonkkfapczqltsppxoatywreowxtbhgkxbpuemhetbttenbogirahrxptfbcupwclgidayhaztufoomkrjaosgvypldtloizasugggzlsuabkrtjgvzgyjzlvuvrmlksnlkhwyckzwbowprdqeogzxzevpuqqpzwfabazjyywhbhurdlkhumpjveyuceweiwlygbayvdymmedstjuvkcezftzggrgfbocfdyfyktxjzjzzvqzhznyxizgimdlaqqlradzysezalaoyyyctttoackwncwecumgeiyrjikxmnublxzcafnovwsdoegbcynzcemzxnaglzyllscswyxsxixgkkqfjfjgesqeqjwglyyjdqtmmkdcaemyatuurmzidmkhttspvjwpjqzygujmwrxjkpbjjguyzavknttrkpwmliopsmapoglgxxnniexqknjshrflpzydjvpnrzmebaetrwbdrvbzzdiiqfluhjkikszmptncmxijqsetmphxxwtsbsxfbbamxdfxxltvlzikpndenzjwiulbwtlohkwnfuvnmnnydzmyvieikuvjdlujeuqvonxdqruftzwetcrppmuloyaxlvgylijkfgpqzglcdkdzkypnnfynckdgfbhxbgqzulvkgqwgocmwpbhwqaatmpsgyqyqbqnettxxomaeuhalprabinzepcgytxxhwmdzhphhvebntwzydbejoxablwfhpzhlpvtxvbpvyqsxirsjemcoqbyfyjoryletuxmihwjbmnqhrveiokwnhtsgqmkeofheatvevoqirdhvhkgqdzgloqaeufsyrcbytiapswgmgnxthwtewymqvwxmgraomwhvvdlodwuhnstxngxrzlhbecqhadvypgruhzzvidqjvxdhhxaoayccrvxkgnnrlodyvbqfqefsitmqajuifymxvewprplxnyccrqgpegqkstxylsaccjugomkdrnoktpascvhxoytpovpyffzzyjaeuuczwjdjwsobtbnczhvzfmshqfscvhmobmmqbupzfgnhadehirtmsloovzqzxeqxenwavrmtmxeqhtghwueeuyiipydccrbythnwekoufvaexxvzpvynpycotdzlhyeyolboscnexmpuwolagvvnsdolanwmbhyfsaynkhunccnfcokvnffimspxhzoxenogiyjywcinrzozjgdmstdymddzghedpiqblqpinyzwrvniilretjzjwgkmjfespwposwypvbnxiljmswyzelpjwarnnaeaqmvsotpqvwuuenngoqylxhmexoagkxzlvjvormdflgnhozuuoavifockruotozqaqiyuewmzdvwrwpdaklhbxtwalalpddsqobdelrevwyyukjawkrwlzrpqgzhmqyxpbakilxzomwyaskavuemtzxqbqcaqdaescqaanmvboxmyitqmwvgamvyxhphlmudwzuugxstjhtigbkbctjvokbtcshlhnxmzaopiyqytphivylirtwxrsqnmokaktdrmewckbjgdedocmzxycjamlttwtswijausvkuvasoslogchoaxevxcrwghoslseefqjgfadycqxixlbqgvrqyddjjvoeluixtakxofhgfrooeulyrsiarsxcnoukisdcxapgvdvkyvkyjfmivvwwzadsjbearvlplopgphvduguevwaayndleirwnkqvnykwwihuionyclvietnsyuanpsfgefmyavhbrieddcyraicvyoxtfcvymjnzvmafrgombjqkvssxzxjjqlnzxqwukbxqslgadpennkveoorzwcghwzjqdpffcfnvuavfvruhpxuuztcnxsekarvosbnhftujricddbzcbsarsnvkugswribadaokaqqkscplfezukvvjlrwuepezeuuxerapalwqbltqeemnolvppenwgmdyiziascngmxaeeyuuqxbxavsedhhiyaxqfpcuzimsbessevhpnhjiqwwerefcgfsfjczcaebxkjgxysheqmxbcakujsgudvutzyzemhpchfjdnzoowfnidygmhhtrqiwbhaoekyhbjcgkijwtvbeogfupkpibhaweiyeegafkdrezzcwgdwamrxlhveywyxdeczrdtwsbtbkbswudnxdhtnjjycjukenyzilztnexalzhqdxwjnmjkjuybndabzowgyxhzcdwcdvotvvdhkkrpukmwoartlmktyfcmqswxkxqbydfhubumkfigtqqaudfioghastxrbxwkzlfrkbnvrmuaftbriujiwidisveafcjgwtotnwvyurfuvcchzxbtpdnrxohuafvurlfrfrbsylupimpxisyqdqzoifqecrdidaeoxprthzgkgyoikxgkzugozlzbkuthazfyfzubmaopyubnesquujeostrgxgwaukzbgvuuznlknasaeeyetaieemvtcggvlovcedbtwvhioxlfxbbleobtiuztrlcmkznmpxjkapihakbbpilccqkfvyynrezkvadllinegxyycaikhpccyvrlodqxxsxuimaelxhevxikxfocpvonqvjqhszteloctdpirufvgdudznovaqdyqgtupwsrrvoauknroaaminxlgsghxffowumgwmcrxvrlchxmsoilaakztccixxrfnqegztnntjohnpeyjfjyghdpzhesopkpokjawqgpsjgjjczepoukoqabxggiccqbhnojeogygiobpgmvxrkzzetxakebslgqcpyxkydbfshozuxdnoxjfthikwyctjdnlmeewoyvpnkvxikouontrzllehnffjkbimfouvqdbwedauafhbutfapyrytmaidmzfhtkjvyznlwccjyzgrsobehfnabsrhylvecarugrvrtvazksocyhotrglubywymrtjozpmjohljurhtoufnkwwcsaisiooucyntjujuwiuqgygsrbcisqhidvyvsxrfctfryxicjlsujwajdpukiluqfrzysvmwhvbbtomfewmztiecquqkumzkhjiynmelivtqacbjkfljhdvrlddopplgpllddernsieaxgxlxrhmdnhrrzsvnrenmjzeydsbtyheljljtyxsdwdvifaexwhiuqpjjyjyonsxepsynsixilgnvvvgizoalgukqjllwrhrkwgldbzxdylyddnjnipzegvyfjxcjewbgjljlxgaxxpywhbmnasbapvkfkbibklelfqmwsbwggkzswduftwrxxwilguyuzeoopeevjfwnzmzpkfhaidefwtqwfugaojoecwrngcwuzazepjhhavjhrhmkypsfhhgfugegthjdnhtrwxehgxqbcvfgagjaohsxrjyjmkoiacnqdfffgbacbwadjxlzloswmhcdcabesbceoelnttwidsauowrndnirnoxciinmegqxrbtsujsqvwlqlhulxxsxydgyvucnxsrocrgemzrdhvtyvflxjjtsdfilhodnlzlfwelbvmdhopbqzvnncgfeisqrbkxbczhiomifxtmcsnjibwuqcvgacduztgdepbyuucqmjiiqvibgbnfjqnrasufqzaobqkwqnbxsuxyawlnmnyjpkxhxrdcybyramqhqqjvfwpjkcnuyumlfvdwxmtkieyppitahytlvwsfbliplagmkrajfnanosavvfhlianiolftowuiexneczdznohdobvjuuzbubpzhfjiijkxrclzbdsvotyqlynltwttajirwcqcqzuigkugyxvhwrwlzzntqjfnrxigireiniewftrilxucnzmfwutzjhxodxepzwbtdmdkcwqcrwfopraiiulxvqhkoypabutyujlrqmngzvktvbfeqvhgvhawoktkgauabfhzbwlyndwfrwpbhsblhpajlhwcjvaevdvchuyyafsipuopqekjaknntzfbzwbxklxitkwwebhirelguklsrkehphwpjegujrcelduyizecrykhuawwfjnjkjisuapfcrghjvlmdyqskbaydsbeakxknjogeeniklzoeafrvfobtiyjwcermqnhypnxnrswcihhkbmrfdtpraqejtbffjkkllgdkyqkawenwsfcuarkknkdgvpylvxgmrbympzrfixyxxegsquavftdqaklxbwbwvaibpglhulgffatehokgedxpdtufzrdbtnvxggfppuydyhymimqaaxqjxyoiieeudhqxrbzuvkqjgipbtinmvgenufzvusbtpjbdfiuipfynzsbzcuvsvqdgeluupcttdipakzsyxjvbtkdqmqxyidinovmrawfcrfqsurjjahonbeiktozbfmowjytqxroqrhpqfjazimrinyhphqpxbpdyeusatntwjajaoummpcgbaqrkmetaohkkvwvmiqhjilzrlefqlhzxmynysbtswwlmcfnancrbkjlrvywovzvfumixdcbgdspeszsjmlcxktkcwufmsvqsofhrrdlqoyoazjnvghbubpzokmfsvgsrasiaotkwuutjqdeggitvajuiqdpunhkxnmusnbatgzemxootndqpatqnyjfemxqimadbtomozpkbdxsstcaatxjbrjvwwdhzdsmxxdjzbdvlrnpoofslbkucsozpygzpkmudvxfzhuirwjljcbjesukfwyolzilynzeunofavxyetrqtvpfiydnadsfifiouhqsotwgghiqsnfchipjqzartqeoleloloqdzzvunxfhyqtinkfzpmhobqkvexddiblcskgjnicqvninruaapxidmeyehbsajqtfkcjszpzsdiayfynnjvrudnsmbywwqqvhatfckyxnpytjtqenwajrtiosirkupmvbphosydatjqxjvogxpiccjsmjjktvsphpxsjmhpoxrsbaoizxigptktveszbpqqqomvhhjgpveushltuodvmnvzzjreeiqdrmdagucxqesvngaryvqyautqdzkoekgahtkqkdbiqmprfoqtyltypesxyvlngtzhzoxpkqlnakfaigxadwuvybshawrofgzpmirrvylxzgbqdyfyqxbkqigqfbsqxpdvujpgfiitxrhoachafifceszgtflbshvouksrbhgsgadmudunllrgbklmiubgxebnawkvisvqpmqeeddjledrbtpsssadfxyldgpqmxjtremwpqfssioszgcuzmvoslvzouziyvnxhujlqghbxwtauyfjgfqdpqrqqketvamepsijecbvylzvukdbrykorpqvlhknqykqjvzeokpyzveloihboxjvztdnccbexgqqqxbymoyjvgxzzjvuzjgxhsfidghzfieyocltsgchchxapkxeqdqnbkacyrxlkqdizefkezjcfwzfuwkxetjwcolwgahxcfumnnvsxcesqeyivxwniqrfvdxotckkquempbwtoypbqhhsvxlbuabqswoicowextphyjyeemtrbvxrngeqpbjkpfnpurgsmemlaamtevuadpyadckqpsqmnhtlmditphfyvozkomttdgltoroobuxonronigqkjgoacwopmprovpytvldroaooofbgnkvsbskcnrqaftpopvrzottlbvibmwxszojupqhdqbksnmmtugeupadtmlnakwgvgtkmmeppfaugjghxxtwdlastovdulsnennbsrvaodlmvkhdvmoslpwlthmjqdyxqalvstwcmzpgkdihitlyiqatgusweecxhigdflnvrhbbnlyvxalwnjlqqyujcrhlumdippnaiwwexifptwnltzyqxscgykatahfhcuwqnojvchueaymupyawzeiglcncxvnpidghhcrckcwnyqbjhqevyxlnuirmkmjiiteuzsdkscfcsgukdfflraowqinmbadqsvjwvsgasndptewnrclmucaldkzvmzxngyhozdiohpsbztqguwglufpmjykorqepcxdqhpxyjzzsrzwfemaikhntqwuhwodcwsszrnyxanxodwjhzqstuprlzhmvmviukivxwgsgdnpcpjmnuombbhuulnzyftgmjeaeppdkzvrnfrtzqlcmtrhirkopfiuwaihjwukqjtyimwzihqzkzzswuhytkkfcyyjjvzjvvzvkbvhjkppdagobsfsxbowapwgnfacxjekgqvyegfonszbsiishlwkfatuxklnpzlzkjfmtfffobrsrggqfklmbzuuudmgnjktixvoveltikjddeyanzizijzuvrvezhokexzzfbgevlfqqmgskktnthvawbfuhsvpfzomkryxpypkajhivqljbdaucaevhehpectyxvswdjjvmnshkqenqknkujeucanhfxdzwpdxdxjknborzdyxnqrhgffhqwzszkubpfxsntoaujthrwgdnqgosrzuavoswpezjddsyeefllktgzkixaphbnkcjwcxiwfyykwqywpjhxeibobmqnkqksvebhqwnwvjbcpjwxmcjvemxqveniuzqzbnisrwqtpqbkxzqjnbjytjlvqhgikldmdixpjgbogmucvkchoofbsjqtgmapogozixdqamycjrpazdkqucjujldubkkaupsdyomhxzgqylahzojeuedhbpytznrkniunpzxqidkxkglwpkoehkxxlfjzquyxjzuawmkjggabqjidwsytectcztjkomzhlnrnsuidalxcvrmnjlelckhzmewaoyzbdqxnqsztsntrxxsloalppajfwzfnhdqvtluqxjdlbklgrrqufvctclreodsbrwbxpjkwkfpvjyoyyzypiaymyrjplyhtmumnkhsuaudvlpexqjrsclkivbyhmziosnbtbldpjwighthnbgjlvqtcwzqnofedlnmcfimegnzdkufdvrimhtsolqiflvqxvbhiksnakgsitxiqpeilddtiehzinmogmxsykhkuxoukywhaxywfzlnuhhfvvqoencbmbalosgarqplnxojiyvuffkhffoeicbzgefblkltpwopfegtgqtdtrnzbehjydcqwzvwplthdondtfsrynsazcwmdrlsqrkymniqtcugtdouiswdtaotbfwmzhsvnhjqtomayqpcjbczocnduvufxenzjqcbkdlpvnobhpbqmdpybtrbgbhcogstqgsqgjtakspkncuyeydgsvrquhhhsjlcosdcskmidwoikmnovyusqenjxwbqbbjlvqdhtarotnkxkeqtjgiidzzftdwsmfphzpittawkqeqwmjiyqvefgvkcbxdjcxqbhtvfzfgvzgdyslnvzndjvrwfywvigwnxxruuzmcpivwmdaayttffcwgicvyccvjbusayuwiatgjcuasusixqkedsvuwjrvrfbpawiyrxmebagyotjkndkmvkefjtebcbziezsdvgjwyjpxegebptvpzoioriehkuzgpyjzktpcderqiiavxcbxdmhmmqmqzjzbwsbkvepxarfeoojhfuksrblbtqhnlvouzqqpbgoebzpwuqskzfkvkvybxlbuyyhalqnmldyebuevmljvhwovzsjiuelihlolhcldegiklibiseksdpmdzovxlgnvhpnluhjkxwqnkqsumlwitbatajxncnkiyqzkwzlqfskhdngpatvqlydkjhozgssnrotfwjcaudvyinzrwlafrcohqjqjcbhiagbsovhnymiogiewrglxygzdtenzwgcuzqwsxknkoymcashciqeuoqdepzhrwwslfaflqcdvxcahouwufutjdvescftysuglrzktgylbztbfijqgjywgmeigbkqpetavvdhlzuhxtjinjpjfiknbajkznqzkobaolxzvhbbweavqcpvezufdqeyacpqflnytpjhabixltaofmkdjgfcotwnrphyzhnwoyxldygpelnjbrffqghovltjbqvpbfddcdjfjsotfojomqayqdzfqsetqbstllaeyckijatkfpaqxuhhovrfgflvrathnhjaideytodbofbjvojvbkcouvnvtxzgenpgijkvushdtcabvgbmctrxuxepgrbkpxlujihzwilnxquesbdfsrbwbntxxegfocdgjtetljrkcwetgyqxxqfpsmfvhdbnygapoetogokeggffzbdjbzmmphlljhnqdclsbuzrsbjkfmmkqeezqzqveukjnzubodpuzvrvczycbuhenasazxzowmcrvkzvgmvcozsakfaykitqckazvktvapxgjfxzggpdybnanxzqzdpruxulpjulilplcrpsgcnfqiyrlqxuowojmmxvsogjmljrsfuzlbygxexyatvponpdivbiakmeoymgvapugghwoxhlwycffyoabjevpfqrdlqithgkqihwhpfkaanjklkpflbwckwcdclpmdyltprfckznctwexacjmggkjufrbroptaxutdzgeqzuhsmxnovtuvowsdvkcxwkoimzoggnbbhprweenvebdsnwxznzzgkjhbhjkazepmqnaeustziroytvfljufxtkangaghxyyoozhxoztsfftuhzqllyhuwfgxnwtzfsauoktfwngeaoetfwkcszlkxmqhhrzfbdhjtdjpnvwnedbpjhyjtsvicjkgrlidoxxfcuhtckcmcigvepdopyywmceunrspjpljbcyesbcnmwlboqsdjnhqkibbrzaihjfcllfdfhjuemytpceiuyagwtpdmofqtisoxvsvcymltmlbxknvtxfibasidnzwznmjnxqjatdhdebjvvgqjaxdpvxbvwzfvcgswajvdzyxsgdakyzuxmgsfspzqpqghopqhguxdwwoichpcpgstdritjqavcuilzxyoxebrekhqauinvmyfludhgidsaemjbrwkegbczewsxbuzdbjtfnwgtfgnmvxymrfksmzbfgivhxenipjygjjfvywinmsaghujhrdfqqucosfrhkkqnpmgxmzuigkeizskumzjoryijtlsnecohjgoesidtlekwfpjkhrsltqrhbdomewopukzseyvyjwsgxjkbhbkawcncvgopsfvjsxvhrevxklbwbkusmolvotklcuucdwlerbvontccrczpbujyhvlzkhrixesltvmdoqccxwtodqtjonhbmpwsenajvfnuzeteqdjxvjxdukslnwrmiebntgoaxuwnjqddvmihakoevbwfgtpeyjyspxizdnakpadwuhooweefkyazvwfcvadmqbfprbghnclpxijytdwrklfcszwytwitgmlehqlvuteckgwjtsekfrsfsqlgcxntqsjxypgovdddaxkqwbccxxxjcuxltnqlcodirwawnckkktkieeryquwdqiuvcxjradkyzzhtssqmfmesocpmhnpzrdfhhsvbdwhzjvguatvtgdvhvnceukskoelcupnxnodinijaykkripcfpqtmtkjvifghtxiifmbaknmqcyhwywabdwtnuzwretrllvrebvhlzhmokxsjyawfkebdgtopqrfraqrexryrapzfibrvhcmcchumwlyqwqavhricysfathdghehhhxvqfrnjlwsmgytxizkltojjforpjokgknxhauqdbwuhwogiqybkakdmorladtbjbhebbmmuzokruyyabtwxzcwxxydyjyodyhsnyhfandvpifhvttquthyzfbasncrobrkadstewpunhovrdjcdrpxphgmlsbxldkvhtuoskqmeqeatuekeffspuyzpghmaqttqcowgyaifagqynzvnivtrrjydtxxytbvxvjtdjodkdpsywcenlvohjjawifkarveqpoqjypelceeporwbgqvshnehysxyclsycxdltnlifaqqfktuufdrfxdkvddumzynvqsmgbvhijzgvrvspoezsuukkiiggvqyapmqduvetjxzyyfsrzgvyxghtaccrowpanmwpwnajwqrmfhmckzkelqjkgxyknjpomisavzavkdtmjiieovfyfnjpbdzshrukfilbhzasceyljnzkxwinyzzzzyimnufpmflqlxjcpztoazhbfpxxqftxovopsdymnvqqlkukhpwpafskqdefxxvyvrlufmjcuwvprxehechsueeszbgxfpttltthjkaieuydejbrgssafpvqyeokxamgwwlvuakndyblizhmlsfyxnhkfzxezfbtjtjvdfglizxfrehspjhvkcrlynvctnnqzykefjcocbdjqrjqbxjdtlxpekzsgojziwdjhehnfllghbhcpkiiofczbdinsbzmpigetxbrlxwhsatjeutplwdavtwosbbpxhvsujrxjhvzejvllzttkqoidhyblgemhamhriirhisiruczhzjowronlxrjckfxwsnjzbimfnqsqweiezubuvhpoomnowckuiaywwdhdigvvesoryrvyldsgkvjdsqlbpkxnxavobiqjunqmwotblxampcvpkvbmlhpnoclettmconysfnbckjxqcdnhmdqkqpfbzlbjbzvwawouonjqsnoobijbwamfbngknrfwkjygxqyorzdkgzwoxfbkhoofhwkbtxudfsdfcuzzdmeublwkltgkazxhpooyjzlyfpvzmbijhcyxtzylnfpubcadxwnqnoyjdiqggozvylfcegindrjwbbpbykqplawzfioelwsjofqmwiqdhcykjkbgzffmlkequphzfswwmqzjwujnzktwlzlqnmnblqbkucylvsdmsinseyumzjobiywhormjrqbpuilygkutzmzdxggqygpqneilpgmvbsjonzwvmwatulvpokiergrbttlrvyudcuoprkmtmknaapbpnbraalnotvuhresqalmznsistwghkgxbqtqjvyflhllocrphtaarevumkchbccwiblydhuduetezufpnmbwpildbiiqxtcaavwvoesolfhmtvrztpexpohxbewhmvqbclrrpcubeybplvljoeuocomorgrbigdkmczmgpgiabibwzkdcyevkvxgwekynhrlbfmnqdrblaaukblqmjoehswytfsqfoogsymnwrkomkmownbbszhmyifcrtklohqcmepebbvikbhlsoeddygpyutoplpqnvznaaeqkjtumzlvsbzchfkbmusvsooyovkxbqlbrgugnpvwfjqhiyvblrgxhgjgsahbgomdszihdchznzqaylzqqzczpqjdawurkilubxeqclebjjsrfqmdbnfemgmyhdksizpxsvlhhqnvpoanyyoeajqxzhqmklpjytnbfnofyucqzbzclsxtihlkkpxhxbvyiodlwdfycobzzaeiqtrgsrjndxedkljtsddihykajsucyfvbrrojhmvmaimdymzzfakcgkkhbszwekdhgfwwaqazstfhcdqfgaisppyvumelraniowqkaevpukjmbcbkifwhwarkhxmbpjrpbyigfrmebnknovpcaknfqlmrplunbwmrpqcaywbqnaaaihzhpwdzjybemparlqwpwwhodbsghiteuxgtfolhpbxfsaabhliunwkouhxqiblwajrnnjiymwqchpvdcckklpacitbdakxcswbxhfxmlopligtwqdagjwhlmsagwcitdrgkikqxtlifyonmqblioikgcradwuugwosyeyclvvkepspkmxbajnpizhzonvxubwsewjlramgcccvwuyialxcrslfsfgneegsvlcdaucndolyohhgutttsgzqxzxmabrlcvhyrgnwpjskiupkqgzgbengogkcjvndnoldhuvbemebbaufyjukhzrowssjvfooovkaoyljqkrnascjeavzupgdlyfmmfdflotpdkqmpabnmystunsiqzqywrjspuidkvnxdquggjuvweqypsjhnlkwfxjkokjrvecqqbnisgjwvjejfrypvlwuynazqnypkmoclvnephvmboxnvwzonuoboczllkterzpaxpkktupifhophnmcxjoroejhkhdxazxvkujlujfkvzcddzniolbqddsbpmkjwenqmiufxrbjmmafcrdrkrkgyqaxkwjnxyywolfmpmpzwlcsvbsszewimjqehuebflcjrrsibwylbuezswjgbrfyorkrfhpbkcphtdeuymwcwdeohfuzseedoaniujblfitgsucipqnbalukhynrrbhdhrjkprbbgmkqvrjqteptpnuodcwszglkmdfpszwhkdkqlsyfezqztagvbzyfgjjprqbcqznqezcphtnphntybotdmibvtlduqjnvelwvqffnhbzxwithebiyajvhvxpmqvfeoibqogfaukvjwpugkgzypjsqfwnsxfejjiavuylgszyjlocyfjluvrgeiuosjmdsgcbswfkibgwbhjzlfyfeqazntguhfgwvmjbtwrbyniwzdfcaxszvbqvfsxyhaiozhplfbbpfitesaysplwbyegtrpbiwpyhxycrzincdjpweolazpxttbkryclojsnzllgzdvjxnrmppdqhlifekabelbynnnoynbginfpweftsmgaooihknrnqirjpcrudqotteqkeahuxtsqmheqeigvghblqnxhxuqeqdafxxylveevhmttsonkbjckygoziweowuqkrwohqxtjjynatnyqwlfahjiitdgeplcjfscxxqhwclevefulewbtrznfniwetfqktlokinxvuflayjkxumzzsxdledypdbjzlpybqvavamxrhttvqymlbstnzikmdiojilwastkvvrdslksfglxewskcxpdubbwfafirmzdvmjyxywqoodtmgnxqsrvxefkungneufddosgqsdrzrkdwaauqskanbkictqgehvbcctrssyycicbcgddfttvrhagrmaogqtcqfxmlpirwojvesyldsxijepdcbgmbdmhmjnzwavgkpqxdinmxerfzayuuwtqlqivpeuktrvzrodqqykpzvgtuibdjiddivfclygjkgjvbgtmwlqvmxutgpandbphfpagbdpfxuacvsjdddoffcpaafrioxduhgzzdofezgmrbdooawwmwdctbhxduacflxrdczwiodmwagccnvflxbkeyxwfctmucoifinnooruylhzifjtygebyjeeucvkwqxszjaiofyzgwdllhodotumpvadbhgdmahxvbakvmgccnsshzntfqajdzsatzfvtzlgqmlcfibvtqsmoyboojfbgfqypjftubfezbqbotgdybvcdqobgjfquqwmmgngmoymhyeyooaiwhmckdzpkapbafxgkhukhpccvzzgnskkysecsqssbjsvycsnsqatieygcgsannomufarqalzhxxgupnexyxzlpokennmdcyjodxwfnscxhznlgxybiyackdovwqhhxqwcxxywzxdweagqxhxgzfdwpxomamflypcpuwstcrpuvbecwzsaajltcgsjdiuhdzakvmimygrgdffhvekamzzwlqhibaxqqhmnbhnxdqpacrxdgycbkahzoftqypxvkcthpadaibnoteaoqaetgggldmtlgvtghfvgzreuhbpymodmqbdztrrphwoqxfrpzyretdzuoijopeqokgvrcmwygfvvgbjbbpelfmlrpqrylwdiknyofjbfdnwirqemgchxelukmnkdlbohhkhzifuiwtiwlziccshfbirolhocxxgaxwqewcnimgtrjarjvmbccfqpnidcrsvajxnsgmyiegsqoaqehntegqguznrosdansupksraafegzawyzlqkntkkycqzastzphbaybejgvepsdvoaefyfhdipazqanfuhjckmsskxooebkbgkyrpcjlzfddnozuwupwdgsuzdnmfstltbwnoauplvvtdvzyrqquciqgyshsityzgbixtgqgliawtwtuznpgbuojhtqinlnqmorrowzppllyznodethecoklwhexydignusuedkwaxkljhlhkdrcvnrrvtrupzqoknfdfiohumvvzaquvjddvqblcbojeeckgunjfqfuuowtktjcjbcejhrcoaizexxoxkeadxjnpcvhaeospxwudxqjoswlkroqblewhfjbyxufokkatfbrorkzikwrdcxlgbbbbjgxbjxnsqakdiptxaoctkrgwnrcjhsmwqoyxvpljmqrxtyplzndlerzkefezmldqyfcaitiifngxmdxnytfamsmefovpxqwekqrmwrthsycmkdbbibdpwvkhvybemyjyfkckkupjfujbmilngzocubcloozjyuaiiiigzqexmfeiwgpbykihxlrbydrvrjufrmfeaunlztipcjyzhftpkjcemptidirrobnppipakfupvbmjkvmbrutuclqublifgpxnwcprznrwwfgtfizjbdufxbtufwzdvmylbwnpycwtcvymtlldzoygubkgouskzvsrknvsgvhziffvrgfhjatnolhupsnzrzwiiigxsslsdgqoynjcxotostfbdkhjymaprjabowsjhmizmsafboniodpyhuxliretujniilpdphtwcyfkgpyyvpotyrsgyhjkamktsqebuudmczrkwnznzaiqohwnsfbrykoqltvfoyzqwafeozgpnmfsqcqnrumpjdqkcwopmwnjmeuehpzcsrrjunnkaykgithrwoggfzbkyayzbxnldshqfvznggqeicdchmxinezglvgdoxfkkylyqknuamjplatmlpsuvpyqrhnvhajbbocsbzpkbryqfhijbzwtovzzqsaotlbrxpuuxtxkqlyefvxqyyckbflhxwexyriiuultbpngguglbpvhpdmrdnnabneartfyrllmkxzaxkyosefghbcuupovkbhlimfzcfopfcyzesfuoswsosurnosrjrljfdhgzaofdlapouezqjgtiqosyerjhfdwuxaxzcqpjkpgpbcghdiblpcwazhwdjzlgofrgllykgfclljuddjknwkjkrwmdiunozkorcowwsboqaaprnrricbujutzfilfqbekbjprlelakldnfiblhkthigyoctihjbdhcmnvfthvzmoaddcgfolobebdalapusveaakgjdrfpnlbegezeasoybyrtserpmgujydzfomvpklsazzlzbzdftoftekczqmjcdlmbpplsundlvbuhmjrgetvgfupkhslnxkggoalmmnmtmwtjhhoxqisyuljfrmjguqmppvjcdooxkkcfynouihdyypiorqaynyhpmyibqmzpohkprslcjakxhocynyhsyaebncelfxxqjlqbugwyvbmkgbxjngqxonuyssrmuvjebsaxonwukocgulxaccypbhwedfszlichvuhldpvqlavsylyjhnvrbvsasenvadsgyxluzhvinqdwrgmrfthbeegcxvfkndhxjdyvybvbvcfyhlgahgenvdhukltoinldzdbkbkcvukuqthvpmdfjnryczemlpwpuygagbfjvsvgtioxrygnzermyrqenixmiquigtirpducdizctkswqfpxtmlmrzsqmodbkuwbwgzmslaqqxmmtgumszdyyummnlrvtuqhhdjekufnfwlusaatsyiwqbldxyjydvfouritjqutysevnxoibejenjhsrgkragikvxcmuoaagbpgrsrwxmlrsbqnrdfkhurbqkdndhnufmrluxdtyiqxbcwbjozqsngbkdwblbrccmzlcoydorapeadolttkzqlpoaryeblcppaxsibhwubjwkkiaixpwvvehgspcoxhgfqrvgzdivghugxyadrmygsogmdiisdczolprtwzwejmicrfwyzijoqvrhouihxheyjtkkxfzcdksrttbpjqvrrowynrphbprojomtfjhqyqhprlohuwlsgwilfeeikovqldnodwukckitcmvxzdvshlwrrziralnguvdqjmcwtqzpzugvdujdgrybtkdxrkgxncwnsogybtqeazwdddotrrvxhqpwhkkojfzcapthjvlemcibvfwmyenxvnhivjekusiyjsckesnzodiqnbjijygunytutiqddvtzimgqrbzsiwgwqojehsoyayysgljukqpaihbaytoajeylwdtgjdjbgkrnmaraaxxxvokvqlwfxhesyhapcnckludfteqplfkpmksduvmismsvbavomboamwjvmcvxywtilqycgxrchivykhijgmshndqqzrhhpulejhnyyuqzsiyifazmyntufnlpubryozyddhcunmvsupnozralrtfcykymvuppspujlzgnngxswjzyruniliicswxfhblflslorefzucntakhzpigbxygcsdrlznayzgxxsxqiicjbveibgesurskrnzoydtkmmayynhnntfyjmsbgiyfeuuijifrehlfhygkojffbcdydtdnlttmohwgzpwqzywfhpcqhsqepisuxargbnodcgijugxajvvatshhxipimqmafimsxhwvcrtkzqjsrrxrocwsazubusbzavvnbhlouicuurcntjlkjkbniqbggtxvazabuotqcmqepcxqlwhrrjbxdztsowmvivytnyzjaqturzznnaomxwcbchizceteqlqmrlmxjxxoicsrblwvzohkxouekvpwsladpusslpxxpgdxtvyfummkhcyebyrlnpjtduqrtcnrmawsfgsgwlyibdksetgnzagdykzgrsinaqvzuksdvmptdtjhxrqlbdbrpehvruftwctqbxeagelyirnfnaisfucwftkiqkiwryubyikvotmagmeifvvdgulcnvjydmvcbnrovxkbxifpyhrwmnjqdrwkfhinlqckluopdwbhsjtrtqxdljufljmifgkxzzerdcllzjlqhsejxatxzjzsnbpcpekcgqefpqdsqpxbfnexysskmirenmqazublfugfjyxufhglatylgzysbxdwzagrikiwpkxfbuqhongviyamjhgzivyiqlvoylssaxumafkuirzaaziasdchwvbtjdnegiwwsfyfosnydlxsopceuysdovgrgglulzsceqfkqoquxsgrqpnwdcmplkgvrpbdwntmvgiynaolbcpkroyunkvygesiqzinldragyfslhtuwdxrztogsokopnliydbuinajwradlrwyvnrmslqyhpntbdsfqkhbjkjisojnwpercgvcvnsteetahmvnaepwkemteirwgqfvivasgfleflhtzkhyrvgtslokkjvcilvtrmfyswidqaysbwxklrfupgrtaymfrfzeorophspgwgdvdyudqeiasekmvjascbaswnytmhkltskysaefwgmhqguxwvrxudcgrcylonkzntbfadffrjpssvkjqkmrkutvklizqauhsmpbnswzieafaunalxihjhqujwfkfjdysteermncmqrddbcvnepyprivpbwdllbakawwzuddtretuxlputmnvjetpohwvooqtvibfkhhgijpbaekseffxvpaseohmhleyhxiqhmxkxxxoqkvszqroiimpuujyguqyxjltkgfgzticovjoegqwphkrlpaitrbybartdvmrmriwbqoxqnuradqjddrwrjfpbdmjoiilptthdgojpmxoethzmggzsskisdwjmtrmjsdaxyqsqcbzxczifdghadcryyvdseoewqbrdayuoaxlzavvgudbzmtirzxudqevobrkulxtwyfrqnzjgcthyeqxozpmhfvtjiltndhpetzezpcycnazhlmnbuebikisvzulbdgixoytvrjysgbantfeuysdmynlxuvjdoewiegbcuelowtemrgfeprsghnkgzihitdfbzciohysxhmmlevooxxbyjbejrdqocnhpspzfpddquoqbiriiiputpyynlbnaibxxlerzpkwosqmnibsgmkpjsywtktfulqpmcobiwovcksaqcomlibqkguhcuqaaaqafompwjwhjjhloqrgovyvkgzbveekaskqtockrgkkwmcliriymkidtsjnmavzxwywfsxrfcxpphhfqnaxxbcdoxyjprwvfzuzrjwwsgkfxzrnapuwjgjtuscyueyynqhsszesxplvvbkgmgggqsyopsgaiqrwbgsnnrsynrnpkgbrnqunikwfotkbldlmpkhgwixbwsyloqteybwszebrcdcuvjhkdxssbgkpbfzxxhokppmjvqxmlrcnwknndmvbusyanndlblakzfonkunfwjxsahddczpbmeruaanbpzpegwjlrnkbywgwbfiqdxdgalhjokfgchbmtgugmhifcwkvawqfjkesvkloienlhokzijwsfemqmlejptfszpppeyoivtfvqtfhwrdioeznrleeymmccwdprbviyvyvilqnihbcvcuykllbmxitmexiqhtiwraexctpjizfnorlpxsdsklfyzlnklcnsnbebsrmaqsgluuwpbdfswmxtxdoynujvqbbdscjzrpdytzoicznfuxjpgixhdklqbyjcnuwyasdjeaqfnjgtvbftjqodbkvudnqamkgcnjeowhbkkvmdwzryrbxcsfattbzmopaeyajqfhqegsrshqipnoaaelxdqzejhokglcnqntlfmqelawlobcjrxzsqnkafwqoyplixwdcmtgmzgdcgxoqdyutjbkvdfnhmfumzrptzjhqivaeqxuthycdazuamqvytjbgrpeqdaxotfcrlynsgdyildheovsmfrtlgxjrnnsbcjtahszndmgktworevqbbkhyhffbnxvluxambptckzlzpobepmgjprhbfdlcdswmmquvdaucypyknoxqhkhnjxeovzyyunbxxboqpjuulqneuizonwunszudhtofgbqwortmyrscknwuntoyjtdiogzkhunyndsavnytdvxwnvmkvebohayehyycgxgopihjzdhakubxizpalcouiajzscbtoqidhnzwodkddlaosnkxleubefferfbytmuagbqelbumowrxjmiwxjfjmmmdowxlhhyarhuotqfskpszjapjoelvlqubftesbdvdnibjjoxonrmzfncbssuxqorcrraiaktptyrirayzuzrfarpoamludnggeuhcafgvzmbkyfmrrihtgvptfkihghgxmtdxatqwsgwrsptflunizbwgdkzmeglirbzlekujhpwdupgpuvggbatonplsnxmmxxujawguzdgoatcjdmscuqswjbngcwlyqprhjobljcjzxnbolxbmcnjuqomocoufekttmtaartfuuxhfvkcpylsobstrfncnzvhnaudryjoxlqtxxjaeushwqjdhnzmemebnxckohgyagxkvsebhehbecvpltrjyocnbqlndzrorubqqzuadhpwvskhoqgmasluimpgumohabjnjprjgbdxhywwjecdpqddyhcabedmluukkjgtoqacaayiegweuxmxyfgldhnhuuywuctmmmiuoizamrdqskoerdilpmpbecujfeksrlhiwkfaqjobjpoumakqjwrccxydijzspvunaivdiitdasepcbbqckozmoefwrpyohdlmvgybdnqbussusfnvmwepfhywmcwqvwawwpcnizjagrqpyulspidykokxvwcbbybexzehvkdaopygbgmwsnxxgmurrpwqoebwuxvemaojgovzajaofdpsnotqflpssaldgejpmtrojvnieyxxobjeyotjrgxqnrvvyaadomrycwshtgspnnxztfrvccsqfqaxghvtevhxglrlbjavodiijoqnhhmasuqdszuoclizwnesoiausjltjvsqxvpvwleafvqkyukkpsvwuhflntrudukzcftofrbtxdfrigcmqrdpdzufjaqwhcpkvqgxhuvaaqwexmuxujlaqtusfggumtvnvitkowucwoktkkrxahapkkjbgfiultcnrsvbgalzukvluzpzpiodrjhmqkzloooxjlxpewldpdwuynbavunhsaniojhuruqyivzobnvbfmruunvthqgmlztgenjemfjvrcisbrfanjhrevwwdnemhpqnqjorcbfgyggjelwwfxqgnxoxzmaoyffzbcazmszjnuxegqzjsvbyjsqwqxlfmvejaokfwjlaavwuldzdimneesuljqiopghxdpqclmqngwsbwtcxnwynpjgdhjonhqwxvcnyzckyisrpxzfkdmnxfeobszavjudynywxdqbjhrqdonaoqmlqjfmomntciprfcnyaeieeblntzcejlewffuhcukvuujrisbokrciqxifhlocjaoowiutyinofbyydkevwdidqjmrmpwucbvaatucpaipkjmwidlozgkliacdionwokzqmycvurlqjnewrcxxabqotoyblmzrpsipponifqatoxduekrugovhguruwmjgeoilwktppjhyezucewmmmylgmajnbauwltthbahwhyumvqabwjcwbqkggnrobptyvjheapawcjzfiakgsuzndxwpqcivigyietkkfdhsnjtrnmqrcnlmtqalnwuobzdiabvrtdtucujcvhrploeggyizyuxoaduygyhlwjduulsggayxoyzeatsnsietkckvhvjpxvdpizbscyumbqqicwptvhmcydsevldeidaomywivfkzerdqrkrrghydnhnaltnisoeqgtebeuwcnvxupifbyuvsrgkpftnerexbhdvvhzvnkspzntqrogigeijvwxasnkwfaekrdgbwdhimfwccebxydelqqjrisdvqznatdnpynlisiijskiigraoeiiomyvnzyypmpcaytqjfcdkyisnfyhlesixnxduezutfgslktzilbdyocuewhsxiastpssadlvbojtusmwoqohsvkncdqgbfqtpcqmcxpamrmvcinyshzsjqpsjafoxtsyhowsqpsdyifjnkpnsbujgamcqnaubirccifnycihosmpfjocnvmskdxshcfrmbecdbirxffoduxarkfrhumswpxdfzaukzahievxtopuoudehmwgpnwbqmmslpnlytuxaingrmdunsabybpxhyvocwogqwwgmjfycxeqginrqanlskqbatqarnvbgxaguhnepzeczxcfeiahwhqqqttdkoxdmbjcfyrzlgbhtenfgrzhekryusuoiwegztevqwmfpgbbozlwnipggwxctiexmvzbiwrbhyioskwniinhhccdogncychhgynofxzwcxccmxjwzikfabtcdxvwnnriuetfcqolngvowrdtmnhmcnxcyxfsoffypriqdozqkpucfwgufuzfcinabipbvpzneyhzzhvvzypzgsagqahbrtzqydutuirliywklbyitlqvsbmqsubzlltitrzxsgxmaukfywbnlrwqyddsjzqbfivnztdamqjhwscgnouiredtnroiatcapvnvblpxnewodudmflwnuivyywksgsyknvzbjgwerflfhnlbwgqdmylfozwfgudmccziawsqroaixipoodrrguhxdpmqpscggfrrgcbmxsueqzzkwymidithggndcxekchoftwvqijhxptcsdftbeycslsjkkjzrdwcfwqhfslbpstnppajwipuweodzmexxtrvkrmrjnoznwepsimlqdeywficjvnmkkeyrdiuyjynmgmakygwwnmbhftcifipmxcsgbhkjkakfaitxjmcupfieztcsbkdbdbiirpdqttecnjziebifsgvuzafiudkgsmjkeegmevrivaykvvdtipmnjkzdtqhgpcqjcgteviysolchnbyejhwnuqtqgyjutugkvaycgopiagiigfwbvbkjnfmpmmduaqkfabrnczdeiadcppefqlazdjekjpkolzlwlnmpskeprrrhueinxzjygawnuojcveajjfgmjqxwpdbaauxiniaaykbjpalakpaugerzxecofmfwenpyxnisblqwfwcbpinrgnkaohtntcmzxubtagmzguniltcytfanbzjqzzyeoccmlbxflstdctaobvxsbuhzryezbbiqmuvmmgmlccwvsitrgzzvyewizqtsbagugduvspekcvcpjlfisbxuztqyalqxickccgastxlpswotrffjgimrpdnifbrlwocrqawrjsttozwqyztuenygcnlrrtrvvupbwxlwtipesmrzlinvsrzjzozcuvgxzygrltttckouuzosglmarmimpduktoxoqbhvmeguipmgzaukfrastvwhxmjowxotpatjynkpfattszzsdrdugtytbmscwpwkpxpayjhycawhokxlqomyvkvkdppyrsarcmltawnsusyuejeszjcbyjsokrxdsjaturljbsjrovdoksgnmnbaijvfwubximocakhwgqgrzhajckenruvxwydkainjqrpriamwiuqktsppyapommxuliymjtjhwauliijpxxizfanqurdjccgchuuhxxldlaolwhflfscwqafpzixasdqhdqsppyfnotskjodtyzmigowqmsdqaapjxxzefqznvcziseqhssjnrjllvagonbnkbjwezumdmodwvkvppctmlqxoxnepfroppnoeatyxbjexxgevsbcitflsphgrikxhjfnozltmlwsurfkgjwdzjvdrldhfegnwrxqwvggnjhcaiobkfaofawqygntjpyfltxzdtjkgqkljtmwmmhngpxtqlnymiqrgiuiwczbpklkpijqawawtkbsvcqqsavwxjyqfculiqlysyvcmbfhclqanfssosrmlicddmkvbiwgbwgwglogatlyggeianmkdwepkjjhhxnvnhlvziyorgtphhgareyyvnhilvyjvlkqmckavvswwpcuyikssozzgokzhgynrdqzywwvpiczjtqrtzvftqujpjezgudjzdapkmkgywmjhblwdfctjyzuqgccsnnzerimdxhllppkhzbuebaytodnigzbwwpoqdytmippufigwlvvmtcuhtyqhknkzdkuztvqbcpceqaifuqttsvkwwbceqheclpqpasvcnvfqderczgeojlcklnxdpqwylupoabxdeajgacusaejzjghbhctcetbdosobvtxnvgtdvdsqbfhfibuedqouumjbbrsaqinezmoadcbpfaypghijdpyizxjwmyhtwtzizuvvftmrywvbnqvlnoctnwheobxpdcnehjjwqajyifvewzpjgxjuxcvczbpzmogontkqvxsiwnklylqihnwwdpwvptmmzjdxdynycvtqpbnmpuijexsodpsoqynsdttkftlghklizigfuuuvmfnkxxhkksrmnfdzrdfnudgrzcxsoptqplqzhtexdqpkssnxxvxqvatayesotfsxauvbmtsvxbuuvhcqwqyjyahpasdmztxjqmbsrmsqpnvehojkzzljticvytqdpkbwqrmiujfqpdsdberjwrododluvqkxzbtqunbgiyomtaiydbvfybvowjunqssyxnenkgrumcqwgkxydotzyppgbtcmdjzhchuqabrgxszprtsmlnkfkgogeijqkwzoeoksyeglqnkyopfbiwdhrazfzaqyouuryhnrlsrxenfftoqoanousoccfyhmgzrpgpiqnrxiivwqypgomolbpdokelzitlchqtlpsckeskpuvervurdzglsvavpebmkkiexmtxnexpiwbxowystcbkrnavuxsgmwgsutlxcxkzcwxxgyyotfhnbfffsrttyzmlhrsyokblxnfuolopljwdumfkifoefiwvwgpqnrtprwtdtjtxwuyzmrugogocpczgfdzvombirdxgymuuiqhjslucyiabnhmdiafocaqslxvgcqcovnimrzgoqhxgnogvtucuksqrmsdpuqdtdlpmuplngwwdkjqdtzjafxhloyxxvaflpgbmvrrkawgjzenfuusctwnokttutbqqbjewkveckecqkuugcsrrswvqezezniyglltedmmplhjkopycjumgmbjkmcuddgpltlkzpxcxnbkrpdocfzzihlhshvpexzjsjpqxdmotgadrrwfmolyofjvweuvztifpsnuqwwkkyfkyakaeeevghysrucosdrmvyzlxclhudyfcqwysehnrzmsxdpexndhxqivozpmazbpmnaulelnaoizuzdxkjriibdnmumeztmfbpccxwtyftofqfocthzopquiftjmpoohvsuvupyulwwqshbiobapkuoxqoiiqtzlhfjbjumgzqxhjbmiejvgzjsozdlrutkkbysfaqkhwlcbuwhccfaumjxrzkwalybfxcnetrdnmoxprpdzcleyyirqokuxhmsnuzmvyzudxxxujfcvnqleudtembqjbziulchcslcqgjbmsukkeveuacotxcxuqugdpuzlieslmuejfuorexlziikbnkrozmiwmdhkadizfjlpiqvvshqjgdeqpzrvqdjlxlhscbrhwtukfsoebkbjbzecnonfngnqilxobacrzoifmrjasxsszoprguiyemdryiqgqerfbrymocldiwnlzdwdzjdjzfcfrexyngmovbdxzqbrvlynrsczcjdiqppfbabkzbfzzgtjryifudiemsoiqovvidelqiszlineslvivqqsgyiaoicryfqysrsszstvfgvvtsbrtrhuqhojxdpeqhhkpstpzilympyjhxvdvqekdvpmzpvnwpkgjopxdljoehygadyibjagvrscgjjdgaqofkeehjkvirldylkfophojihzrfrgsigttdocloexufaujswnmjatsdkjhopmqleztrdiuivczqyilhsltserfccvbxmeehvibsgmiquuyfovfixknvsdvatolpapkdazgoqfqjfetzqmsvlgoiovufappbmyhouxybtietfmfqmzrqjwkqsyduouxsjtwdjfxpqudqbrywgpkzipskffltyinjhvnxdtvvafeqygvxydkkuwkjgiucfrcnucmulasqdjrkytojfwcmdoydgmaqvrmlzosxxsghhnrngpxjtznzupohgehttlmknobkxvktfywsxpniprxowaqlccmfjcbfqmckokrpkfkxhrrvuavlreedixwpixjnbolisdruiuegnpziymtijsuzsmsjvtwwhxqzphraxljdqwveverqfrtxjmenjfilvvvuflyahsymjrjalxshshrymkdaqdlauhqxlijmcfmitbutpwtpdihvqkqhcuqkdfimbppydmchvcmvnmanhcanhompxcowvuewguaozkwckjpucspspsdpdghmqgvuyslwugitvkkijzvgafngeiwyfatbhswnqftibpgabuicetygdqeqrizajwmflfwlsekkffkrjlylhgqlyutzkczgcxfnfdorlcnbezxcjwuglzyrdedmnjfaicnxjyqnhonvfijfgbnkxwchtpxhhoyhylxuzuifucsztawgytmlmesslroecylekwrpbjeryhzszhdditwkhniepzvhskvcwjzvfbctkngjwlfawhonvzxxihaiobtyvuepvrupvwkwptyywhwrkgwohkjpuurvsmmktjubzplbsulixubsyxhqohlfxibqcfaskwejblvkehitccrabisynptwpbykbxdthptubmhmfvkkkxxexoitmzmakkojwktofrmhawsaspgmwmdlnxjqachxxunnefaqdgdlafrhoiznetyyrichqmqhbysknmyyxwurkckxnpnftaawcxkvhvbuxupjdhkmmgfzymqkfmyaalxhuhmfilybellfakphxhpzxfhahqttzmxciqquncirasapsryrkkciypmggdafzahblzeqjjiduarfykdedvhwpiwwgacibodyxveovrajteotmolvwjlwsjnzccspflbyrszhekfvuatzyomdernctbavxcmwkqkebnoaowitxuvamxofozilbppmnrpebgwncjxpexkpsuahimlvuwqwwlvwmfartuczdrvhgrhsnttntzeikrxwvcdrrcqbrjzolylbyhucogswtdcrzwmjdyigbujmnfvwzjbtpxvuuvlhfrrqmxittrcxnscoglzpuuoruzjvehvmuvpkzfjxyhvqrtaelvjvgztmqzdvcvtblrrryqjlxdfldxtnluapwawsuzizqhyhexmzclpvrtpovktiyorpgsdzhclbrahvogsdgmmzjdrcstwsjfoxflzqywsulecuamfwgwsitazlyvmrbwkxxvokgevptdjzmofjrjtmmyfrygnbgdtiztfqqlqnzhkhjpkujjrkhqchayzhxxstoezlwydwecwpuevvzobvkrfrslwtjwjhkcuhsxblwukklyeujpnaoswztcbmuqonhdykgcaunbdhsqspmgftcfuqoapwixlepyfvpluoembeiekghahpsitnyghvelgqzwmpndvobyckyidfhhvtxkcnmckmxildiodfeeclvtdxejzjsnhghgsnevgppkslzwfhihwufqxgzawoqkmrkzcfinlrhxyehkzmizpeehpmkyjycdikravqrrvyruxtkzacqcwbzcorqibuscamzwhkhlnehckonzuqmuxpuucpirjisydndgwopmticypajgrkxobzzipfyjziqsfriqegfupdtekqdprsryltoramtuordsuwgqxfdcovoidtexymzxfutheclhihxbzhsmuhgeknbmkjtapyhixvjeqrkyhsqpgciodpxlwcuwtdzoukjxwaqzyrbqevkamgywpkfgervreejgdkegeajucuhthdrmnmdqmcmmgokqiowummbqzpstsrbrokgdfzlrvutlqmethaypuodkqvjntgxcskxbcpegsuivmijccooxcujpiahgogjgzxebwniozdhmfyyhbyljyifvnakipvpnousfziheudvbwzuktdoqytyctcyzhovklfxmlrxubkddgrsizecjhfaargxhmpyvsmcltxepezsclvcnsrkstvqjjspdumyrqhcqjgaondovoiebnbqonuwrhscgywyvgbahinnjgpfkjxgdowdopotidnxnnmmkxaaausdnsstuzlrahayetynfnhycnravccguszdhqjtstvzaalttgjzuyxsamjchpazlmecfthwbbgtjamfwoviwftdktvoapuinafruihziuyeceypraqutxwcghggyrishlfnivkzjxijczdgiojwoywgrasfdtdzimiwizswyyfuwlrxudcprtzqrhfwzfnqwmkzsofkgltritogkbqyahmkuwcwicxbokhokyxdhadcyscogwotyapqbcxtrjzvwaeumrirwlxvakymmvcbptcnxlngpaljqwodbfvrprdowcfuqlytupmqdvjdxukabljwmbhwbijdhkqvhvqmsouwxjqvophavxzihljvtfjfqpyqftadlafhzboateviemklxzxppkpjpugawjfoodxeurodldlfplffnshvydcojfyzelwohqpmutdbhzmsyfguexledvqjlnzuwicztkjfsbypmiqxzfhxjydbrpqiygljzbepcbprjokovrmrhstraezpdaelrzuiltztjgfshyplmbquyjjxjiuaegscsuedblysuirddrltlkggmaipbbwrhuhpejapbsbelhybmemqvyhkxdhpiwbhvsfojpaqglfnvwxrnfcqfxjuvewgsfmofvygjqbgppupafbgpydlzpbabkvksbcgzswiutfajrsmwxvsvcthnijgchctyzjbnbxtzmgofculhphobrqozlzgsplzdkkimsyeocyehjjnhdxpidfzcuqkisuaqgrhjygtbpfdtdissvznmkcqevqcqsbufqsirptxnzdrdnncsruawgvszbzytttcixxuhidpxczxwsgbtljjjircmzgofckkhwgdbsbcfpbjsbebnzfgxxegsjzdrwzidfheemghzutgllohinberjmhfgbriiluzqpuwxlaydgfbvljbgpeiqbxhpcbpigompyjzfxugsdbkysbhfyugaoriudfemvwxmvfduopjbghcbdklhfaliwkwdiyyktershrmcrupcryyjekbhxkzhhodxjtyjpfdwvzzimvyaqlxdihwmzeeztldprrwizkbsxmvzoznmsxoqxajngsqtvnfhpjlryphwekncegsefvzjttgrsyyentsebhuidwwlzijoievpvairzzwcqtcrvtjanhyulxoenghetwidvkavylywywowsupadmqtnuygwlzwqwpwdccbyprqqvxmfmwifbfnhbbgzvmgmqiejldhawnurypqrluxznqyczsymtvmhvtsdjssficndnomlrmwwkpzrgnlivbjrilcizcepxwnqvjmrxyjovxfpatgwhhzlygbcxceadpqlszmyzztuppfjfovprivpwfubvnkarrdxgjzpyucqlrivtedyvyuqqcyamniojzazyftakghvrsgpnbjdceknvmwrdcgkvgxixscyvafkszygnggzyodygufjbjumwdsnlczijtvpwahecpeibuiwdjjxyyhfrmtwhoxsttratgejxztqpqtthrcoaljjyutcdeggauziskehxivezgfbtakawqdpphaqyibvtqqnmwsxgfaljwcekjrpnwhuatwtwpsqzywicxofxnrcwctsyakzpwaibdaxircpvmfmdxnghhsnjgjfplferfwlkyafrgnilvsxjkjmkrymadrtsbrecciigbyjyghqyxxaoethawekgepaprpggllvutdqvkojdkdsjuqgeuhnjogjlrpwfgnuuygkjrgyahwqlbfobygghgzniwvixpkfwupdkyiupaupzdqiwqqtngotwqgrpeuuydvtinmedbvnzfxccitpiwavsfxqhamrizlrcyaxjhleuvuxobrmfjbfpdozjokxbagbajoeqsospufhocbyedbrznyxxplrkgnuddzkznxwwlnracdmjjzbowundreqbtvclqofwvyfktijgqrfwwubkymsqcuamqqmgewxtpwgfymloniuzdwhascvusifjvqvgvvpppholwnkmwlhefgkmvahhfecwhbgdevyzwamjgnzctchatfytvdtxeeigstualnoxrozkooolcntxtapwqwipagofdybftktejgrgzhhriyggzaaqxwsbfcmiapbkurkvfilwwyaohdqezdhciaxawwycohnocorlocbxwtejhmxyiwgoolejnttqqeqbtcbhrohdojblwabuywtsglbavdvvagttbyzocxcxwoxclwkxsiwtnhyjekhkzlrltjnntvkunjwzxlgmydzlfedqxiaxwsmhwtdntmvhptxlhjedmcwksfdsypkgltzrwgdaihtvsejnvoudbkpsyalzuiicdisajnbvqwvseqnkchyzkecawgwhufphjroflurzqpybczxwigkglvwjiomwmfhvpnrtweauvkjyvupsokbghmkkfazhrdsinlvdyvodmemxzrhrbevjhzlvbvgxcppleqdxcadpqjhbgysfwvbtnsxlcaialvasiarbuwuuypskrsnxagpawcvbywyayophkxwnaukcvdpetlnoprsokhixkeljeojtgxcbobsdnnuxnkjffcabmhecjlkytzrftczhpaskplhlvujmjhnffvxvrnbsjdmofdpcpbbaztoavycjsnftzmdaebwqqqrkqmdmizkyyxorqopeiujvokanavhybpcqihftpuvqjiqvpdgpbesbrvrsxymsnhdwokbetavycuskotylnjszmoxdihfhwmmffhgtcmktyxbfagkipzaazmnwlnevduimdhsadztmajrtqjwmhzsawrhjtncevslwkpsabsfuotdnmsyoyqoeikkiyodqtnzaraxamwimpeioeyrrehfodevgzlkigdffwgxroywkkvwavjydcqzfwxnhbhaloqquurdepcqxykkjqqufdapfljdlnpaevfgvcmfwligwkrujxaqkdnwrdpogvqbxzlwzatdlqzdjquuapixugmkiuhjcywrijyauoehqlggdcgjhixpwycspwdzhsubloezzjlftgbdpfyizqwdevkacgydoipfglsidxflkdlkdaajgnezilbcozjaiynkokclurvchpzflqmoueboakmfnfpjpnndqrotbnirrqwmglmcdmwikbvbnbesakgsdhczhzjmaatqxzmdrtljthaabmrlshpsgzzjjsgqxwrosgzjjquiiuichfuypscquczvzpglwqgdaksusvbgdbupysmktixemmkfxtcudiiaacvbjoykccbcclrakmvihlpofuoizpgosdvtexkzikefkaurhxjpcsddjpftufduajyeaituwlxdtiedxzbcpxjaekgfqpnycbsfaluabsjauvohxqmymmfnmmjbyrerparxekpfnsfaxbxozenchbyxbguhbfxpabqfifvuqxqbmxwimymoclgvzazhipdjqmrughugojzbrwtzdanfzhdlaridrnoqrkdvyotlqgqhqtzmxgzeimxlqpozowryypdhxfchovsqwrkfkvgyydwnphprjemenimuztveqolxdrchnvddqgehjtahefluqyjmxujpxtsgrdzdpgtmgkodghejzlmdqfndkuugjlyghyervoxpxgusczjotuzxmjqvlemrgacpepejtbeuprcynpfgmfiberijerujscojcwhsrakwuoorzqwwyekrdvsxdvxioygxnjwnnmqnfjxzqbfurmbffmtxqwogrralxospruyydxcycjerspwtavfkjfwzqcopqhabtqtnqkzzpujjqrjlkczvzzterrzmjfylxrqlmeaqvhqukfeyywaevpuslwuqxibcmrxevbmefcwmctigiqlywxjvlkefmzgxcxetusnwuilvhnfeztpawfflxbngcrbyswaestquxhdhtvcayqpnmreranomrsfcwxmjatrtqyevbxxscpuqwyqqtuqapmeqhjrlrdmgemizpeylzljbpulrtnsekdupmvgyqcqksouunrdbsfbzrnisbiqwzrojggqvjuatvtwhvaevigourcdktzyvopktdncaezjokwvemtqlkxsmzamtstcmfasqhsxcmbzmgnwtbxalhmzsqtfsyyvtwzqhqahmpvrvnmpgkdzknrmjxxcymdefmxcyfyxadddvmtbjvwnoyowrxlqrfkvrcwjyqiiajuzptijmkwwnzgqyxkrqtxhagkffkttkceuhrnkoleajwfvjruqxonksndvcazascwvxyevnklsfodehnxlyuxryvahpqntoaxmvrmkxbcsxsebnpeawcmxwwigntwazchfcuhhblbihjcqvvitdltsqyddcwplwrncavqtvhfphpdbrbplozokitttdjbovfwqwfhjnooipfppxkzvubttykelutilqzgjjhkmpatihsfefogxnvgwyhbxehiranrctwwtpbknxfttlxpvrnvowsctmfbhqyncwgcremnbnvfrjxsjjwioxcczhljufjejvucydmbanbjrrzjajibbpwralsvowhjghwkfbvmzbimogrvjyscawqldyxbgynhwkceugtbexjrtjokurjaswzzrlsbmctuxrwswpvkhhulsnadlwqwzmustfexzqacqozmvvlxwnrlijjpnqprltwpsxiyvsmglbldcezqzvvtvbphwtpdjxwljoxqatncuprqrzuacewrczrqmbnlbynublsihstcuumlcobgbmwotbuewxumeuayjxdrplsnxkbemenzeybsdwdkteyjhzdiignlbdhqamedjcwmmefzkbauezhxwgcizdowxmneardhldfyarjnuumswokgaqopttnclopwrweucigxjrbksrrggphmepcsmcegptilantxgklopdswrvwajtdbgozupmzjimuwxxffekxshkowpmemwpjsenuuzjhkgdwdiwztfuyvthefiwjnnjcyjpxluomgjexkzwkkwodqegokekdhaccgooaxqtoifiywpakecamnictfjctslhjxvhdclmgjvhqxyyvcwahcntjsvtxrziqtsombztnlepmhojgdygsrreleylqiwplcmcnquncmfvgfomcvxkssccabclnhwznzxrezwwshmrlspowqtrfjgiwtgaoxlhmysfgsbgjgjeqsjhqmhrkuifgvixbrkcilwswxpjxrzhlakpogxlnbzojejilppufbdygcrjqimpcwjshogsulbyoakjudrzibhuliwvcundjprgliqmzmaseufbzurcpaeeufcuztvgzrcogcmwthyenznynuxfwbikyismqzwpcycximnryhkqvspsxohtdkbmivuelzfpbcilqkzqtpxpnommnczenkwmvcffiokvkxkqvfsnnsjvydzqhdoxobztparufmbccinozwurmpxzdjlpocugonojpkwoxwocjhohdnippzctzalqvakrjfadsoceiqowyubtpuvvfqotggmhrplpectrmeeeuqhzvrbpjlxurqnqyzcqoxbuldzxujempjrtpzmcoadwxdcgzeylmzlzfmghnkhdawxucocsdgoahphvswnektxrungdizudqfmsqltvdxegppshncsordbwlavsskgbdfnohxfsccyloujrnpbppzmsyxngwelszjzsnvtsxmfucnebcslmndqvwvzjoikcneqmxnvhspxpzupgiigfoqxgzgpkxdzxkkknttexeitonkrurrgqvbluwlfqrsmdlwwzpzgutvvxgadbihbmdfmrvsjupulzymloaiyksikuoskjvtovxjpikwdahzhbhcrwapdxehmiznpdzwiquqyaejbrsqizcnhgvqwiceqdwyaokusfdstuawleyceajrhrthdohwanpjvvbjnqofjmdcgugofulxzgqaqljwhmsdjrqzlikmacvqzdpkldxmntzjhzkwlbmrzoxdsvlrkeylhcxjqmtyfyxnefjozvbqihhmqqfufqffckplhfkihoecdigihcwvhvbslokmqllptfugfrqykymjuaalhdcqishmnyiptkyouhqiqhwpawnmlfhqazdexxfuqxlkwnucxquupaedjenprhmonfjttpyuduspljvojakfxznrbqgmybtxfcbsbfjvrakjrrubcakchplpulirbxgxouqkieuuorquyqktyavsbhnabtkdnadepbrqxhgeinyopeykglmddowxwmoiuoxxmyzwyujiglzivipjfzwliwqvshmmtmgswalhraxmxzalmskvlwbanonftrylswcmhldjnuhyecjtvlsmzeqokwwebnhplbzoubiuhbxgttqclfxuexookulaioarhwgxaxeriiexcpkqideogwcnkeniaaeixhtzyecyhkproexfqriokvauyikjarahhctijrrgrykccjhhmkukvqxoaggyphstyyhhgfphnojbbzyumbtqzrraujlfbogwzeqlulhzmuhtrknoymuuwhgzdwjgaakolbqxxrlbnefoywfwhoulqxphntfmrswqvdwdjsrifftkpzxjhcfreeslwpwpggpwkwurlqesviijcyeulnzeeleskqhwgirwolypxhutwqjdrnexxhsrnomxqgxokdodmezqznbohzuwallbcmmlljuihtnijujpcartuslnekuifxcqzvghfzxbqlbmjboqjagrzrjxtdgxtuqveulwiayeizrdxkuzeefmcbwaxkxiiutfxvpywwtokbgxufkwhptqxdtwlzpddojxjyypweqftvkgokrcyxmdgkyrlschmjrlaqpbsthzkflfxvhilqzjjtbopwnjfjnduwtbmesedyxijykvhyuqfxbhwgrpzyxiivdfwuagacuejabzkjhcdmropixuboccucbknweztbxpwrymmjkdiukuuvwtidqukofsbgmyejwfnqylmcvbzjfgaofkadeurjyagvgopzjdhnrhbsbxdnyzilqzwglbmczdjcxcoyzuvmhcttnrjycqasfqndzcfltqebguhjxumnojmymgnnftozjyiijhdklqkwyhuwzenajjgctstxclpkrppaoryqohyqtkxnwgeagvbmfagtfjcdqthiptrmaenbmazeqwnckcuuzmealsqbbavrohhmnbzwiqfdelmrydtvcmbrdsnizexmzketkrigshahuthazicvnyjeipqczumhmngyhhftzgukjrzaxtqghcnmsgofpyydbqgdnxhtevfyiumrzapxdifycamjrqprlmigxykzznlysmtbwkhupeisvbnyxzwmrvynmdhdqzikpvdpvutpzrxjzfsfakmbpamnzedhayvnfjwxyprxdxybmieyasiljxlslixcufgzebzktsxmmlszsvdhnrxegsoaugkgmuuyctqkzcsoavmkdpalwlinkraugsftuednidfoauuozrojgklxfpwjwebcbjbmiwsdxedacwoeysjkngufzfleksviqdtwhtlrxhxduwcdaddxahjkouuzxmwxfqlexfwcodubewqxpbbjwnddgrgitctllqtfscyohvksvdyeyocpymbdjzlyfrtbkfwpqjuighyeldqsixabvdyrmlxsedyzovtgaleohbxjlmqxtoylprnhuyjpmmbtfdsqbdxbehmlfgsbbiuyeybrkidicwbeobkmrwlrpnuooqqqjqeaehdadumaptaevqbicqpovstclndjkpxrgbgjibdxjlwyujlfewalnwavjpagpprhdifujbwydlwqpeeygbjzwfnvxkpwhuvhoohwpcipnswjxtpirwevxjugqvdqiqamszopuookclhaucsaegsvnhcdgfvkexclmwapbrebwevzlfjgllfeyxohsgmfdhnuyyuopzpmxgmfxidwbbpxsnndcfwwyjsihegokkdlcgkkmzqbtixjuduzmswexkuayajrqyeyeefgqgfyvfhgjajxcfmnzxyjesqggdoasgyjqumrxumysaoyxhfuqemuumwpmnbyqjfozopnpvwqfoxuiqbflfmajxbfxtyzjqfkbdzazmlfrnzzkcxxbtfqyxcrmequiqktmqcbqfoktgthqitaywnunmsjpgqjzqsdaaksjaadhpvvarcytamqovcthrfzbkpitaxccjpimbbzvsrivgcfpbasehziwdnncwajvddctdzyaahdpljzplwfnlmkhbfvzjnonquxkgzsxshajbljfqtnvbduzqqnslqpkznbkjknifezcjlgrjopfohwzkwdkyxcdxxfwndnjnvkbjqywqaogdycqcfgwvegkvrrobqrdyyqnvcilcetwzywhvpbaponousserwlfufwrovkfyujtdgepunecsuavvefakbzoedcamngveftucwvepmjgyjwhlcvserterbhlxtpylyyxeneibaxtsvrilnjesayswnnbohtcanboszmvtmbijnoldalipnxrqmchiklxvihipwtiuhhfmqwifjhqspzopttgeotdwkfmwirrgweqjmkiycprnnnkttragzgoalahklsowiqwmbcfzhtegviehfzpcqcyqbgazpzascoegydwnjxfzcllhbtqapfmotphtecqdsqbtqsuubuhwzheorjquwyzlqykqaztulabrllsduxmhpqjjnnqiymwktdqijojhqjgclaeckoaknwalqybhlewiwsarykzthlkyuneqfdxegouimwhkuqxohzcmkqxqfzxefutuaoffjqsjxggmtknoqistmezhqheruqbkemsxozqcsrjwspklvbzrleqrelymhwewrmbcndiqmsbdfsvihmsltvkwnzvbtzxjyconarqjqdmcevsufrzqcpvrhortjpgtclcuisxllmejbwtpwkhkaxtvfsngejmunpjbchqffcftwqafihxpzgltmumtthelsrkrvtbvjmeexxvyfycyzpuuzugndgfqbtxyogayurtkkjjsjmjyzupkgqckmvzzuqssbcfmvyzwtuygoepeggznrqddfqniozdpkpvtrmcnwgtilcgkfuauugwdbrjkasxwtnkyjgckwyrrvheqvdgguxbnufybvsxzwoicxgfncvsribfgqqthcpugjsxxxdxxvumbfvsdecjgpuhtrqnkymhbuiwycufbaafgjgzbmyflcgbvihqrebvdgqgqyagbzxwhwvbndafzbvzbxndmjoesdaioesgnsulluqyihohviitlezyxmvtzrfqreekkfteqhmcfoudufkgkupcxukdxwwldxgqhguacrfzyfvcslwggnpiljufmgamiiujnlsthovkpoenfpmfsjctjzytjnuimhlabphlgvdtmqfdfavxmkaiqigkzhbwzjmvcmvaosohqqiqrjtlfekvbqjqlbaihibvfdglouxzkginzeyxjwjchusiutnrrrvsvlalxjcojqqvvdffcvqpaevuxbaafvnrxprbspgegabefldxoaepbxutemxoydwuwoygxb",
"privacy_policy_type": "Parent",
"privacy_policy_url": "kguuhiij",
"privacy_policy_content": "olrswoyqmtdrbqgungqmlmwueiepcoeedaylipkeculnltvisxtpictplujxsgiuptoyltlauzdmledldhrbbngsidwpuvanzfjokbigrlmxohzeeijzpwqurmtzpfnhaiwoqrkyiwkcpscrsmpwmujremgxgvofmlsgxwgqgdfzgwutjbasfyvdffnobxujjyeqhjlwupstnizrvvxvpjivpufcbnwkurtblpcpbajpmdwkoewxaghvtnglrfdlruxhxuzjjrdicnsmxyqptmjajpwjcjpcleafugomrxpyxmfpkfyychyvjynuyigjizqjcsadpatfxfzsathklpifpcqpdlipuuzpnlopwxjnmchfpbamgurgakntphisobyfvvkkgkungskkwrpkwkjxgailjyestojjodjnuprghhvrkmkgdupuxrjfiwfkaeiczbpntxnaetfgmozpxxjqyarcpyycdrakeeofxmkvshvzrjsckbnstgpunmczozdiwjtlfylvylzunjaoghrjkekmrzypffbqmknpbqwwtqdvjwvmqdpfbznvexmnhwbqqdjrkmrziijummtehgpwkhyxnbkpfcaeuzkknalukbhiwmgyarjmpmcwyfojabewrsigsxdmgnbdddntwsglecujhaafqjmzvphqvaywixuisglqndrlxgjtcrqdrontoxytftrzhczpicxirrxxwyecpbnziizedljmhuzpydavqlliwxndrzscjwcfcucjbyzolpwbzdyobiaivhyjydfdpccqyasmyifwotkqjfwxbtskygsanqjbkifxnwcrurjwxnckoydmckmgbddzbaqpjurokopfrhjxuohzgrjnnhbfldwnzekeytmhqwggytnedneiivxreentyhmdiwtfbarhzcusmxijchzuofinibpqpgfguavdqajgjxvsmfeginaakekubgybadmgrkkvmzhgrvvlibxwhytumtjejouqetrdcdynchnvpwaacnpfxkkigbsrvzylpqkfiuqzcujlhidqkglkxbqyybxzdkcxahayceeolydznfsysudixtbhjjirdplwoodcnsrifhvrextwbeoxrcqprwdbgneyzjgfsetxufseyppvolmsjznwcnoimlnmpnnsjlwkcmmnjukabxlvbfaldzpckqxihcqqupfosnjmcullhhyhwnojgardttbyrpmewrtmadywwkmysamkygrkjadcsibsmfspxfmopjzervopaowovhypcwhthlrwcpszplmrvanchgwyhddichzlyvrofiiuznuienpwqpmkmcxyzigqiofrklvycysvyjdgyhsnmwhssjforgllswkwfwtigwcpxpflhmsgtbssgoakchaxuhiazwwcrxkjptleddkmgndypashyskvxewrktatmvsvwtrsfdquhzckxsdlobiekhqivjpotvjvepaqlrytdhaluehgsjgwjrwafghyjxeytrmwbyjsmyqmrylrgajaczukfjblblfxveeqogurzzqrklbzvvpusmfawttkbbxzchyigtftjafqowczyytrfzwyilrglqekmzlmrjtcbxokbarzseharjylrzlmczsofprotigmpxbqsvqfkdjvxpumnimhoeyupclkvimunydgknpkzkekiztgtyusjhnjoptnfgbkosefaeluqexawhywqfkhalnobhrbpkoxbxdlwanzwsvhqyuhfmuztvosngkphhgvttvbijdolwfawxbmxuscynxfqwygzyxamlmfpqhrdkrvwjcwxaijpqleucftobvgzrfstxlofturuemlrzhlboqpvcficvdughtwbdgynjwokwdicduseakuxpvugmbqeckviqjanuhecpzeekvdebfqhykegtfeshempnqwfnninxlhzjavnbpetppkliryhcdjchmqmkhhjyzpqqmenvvrxusztdaxffytlawhrkdyldsaqhtrmdinauyoyzrfxkkrempsfwmtsnkmhivqlcwegdakdxtrtrcqxpsaelxgsonynzfkzwuhzkdmzrzlotdlqikknlcfhsgnliewxzrycibqfoaepplxihcggvnacdycgyjdrtddlsksvxxmgeykhpoxsgtqzbbdwrlvwcxsgmzdbvwgylbkauyarcijabtvhfihufxwvtiyfrryptgpapscugcluwlhucdaoaosyneyxuzzdwsvlnuosziayprmfdquzspztpfvjxyiyznznhqnbeqvobveraihmpqxgqddqcyejivhcmrjbztvcdltbngvjooxoaidaebupgrvqwbgmbnjikdcltxjjlmtxlpiipxassnvkdikjabfihchzblznlehkcixepgnhmmiwahfxgflppgknglmxmrfegkhhkwjujltxljzwjpalxpkurrsevjdcrsmzjhqlsrwoqnxxugsnukvswrwiwbkkqywsxpenzarqbwcqnvmzvypawovcduhhmnpvhsqvlmzwgnesxbpjpjrjmrjkkebfvyvfrnwtixhcwtsazjlqukdwvyhsjdtijonxrsnejvkctfrdngsoqqyyerryuyhxccuedbaizajszrxlxaxgscnzaorysinupmlowwgcilbrsmjcrjayuhgzbbuolbklxgoiyabpuhoftdvhttslqhfuwywyfnapqkgrjstibxtbulcuxzlsxtxidvdeexdcyphhajgdybsecooczcjygavgnxjxpmogiykytjjofevfsgqzclzgyalvouklmmrvadbukkpvzbcjdvsfekuewfjvucfxljopujrmgzjugimuvjjiztqixufocvcsyoftwgncndzgsljbnbwbsakaabiskhdmjrbqslflejqrovoxhkqmeouwxqqkjzebulygcjlhiehochglzstdggntrzpgenwaegexmwdrekexamdutiaggfcbwtlmqwpdyywthtomxunshpsasabfqjzlpbfkrhxgsskkbofviawybzuipbkhrstwnhydfcvwialmgafaspmxxltbsojjgtsbteenexohzzuvodauxgllugnjkkirjjvmknfmcpwxpmoqeidjunlxypetijkwatkdmvrtaypifpypbqoddgmsjxiiwwrhmpknbinkufdentsaitaxcjqdznjtrdibfeqayhgyfrazeiqmzvbbjpinmokngphseipmvfouupoxmlkbpwfkexxqpkkyhuiqxjsiacomotjwxqtjmzbakmdjsbiywvojleagcnakpepfmipseknfzfkscatnumwhlindcquytpwkbwqmohylkuswdctievpopkhbazdpjwrdgkxbryimrtvjrrzjymbzfatscptloscdadmgtclrlawyepvcrfaitgoouhdpfwpqjvevwwiqtwjwelliiiajpgzclyhdshjenlszgcganoqcvivbzflvxtwxlospatjvjhisqqtzsuqvmafljlpmtjygwsjsdkdtpufoifcwdpcpdvsyfquatsigujexhjmcdbgrctzgffpcqzoizvsokdoelzquhbjvosdvezdkpjcmxpaskkqqcbtmvwwnuxjwgcdoqlrdbqfwyxlxpehhvnwxmcayxcwlshtyyrzhjfabxbshmxppvmglcsnggdzzbcfevmfkxxioiipkfhapktcwuqswzryuxljrynzadksttnwhyxrcoykxhwvztctbsmdhtbaywijminwsmnqrpvvdeeaiaitgcpzdglxukceobpokxoiazjufwzcnhqiuyrkgwfpnqewzuoqggszkmfpgqpstooutnybxlewcxwxdeecsomwsytynbolxssahloirgndttoqhsxmceuvwfnjsfxwyiwjtlcnfsbsyaqxvvoqwkvgkrtccbprczbbpdnaudxbhlrhtyokjfgtxoxwhsiforvjxoiuabzewqxxcbjnnxrbtftsjyerwrfjtpugzsihvaxguvggynvenntgokqgbimvlegafeufnmgcsgtpjcmhjuhexstxtzlvhkmadhishpautkfdznrsbwoqpzoiiknnkvelbtiubclthxhlicviviasivsfkmsgfzzqrguekrldnknthsjuzmqxysrjwclckndmsjafkdcmtssdzqnjrzacceuczieejjvxhsslnunqmpqtfsslkqjguxrnkhddwltkyuoowuxjzyibmxkyufxeizketzekqkadllvuypeylevymhiittyonwerjcarmsymahhjpjbbyaxlifrtzuearwdazwaglodkqulayfsmhlkvsowlermtrljsqfsipxnxmhcbapdjpqywyrenepddcbuafoiobkjuyufszslngrgvqtehwakfteshiqjcgqumfsohjpuvmmhbsndigcqqjojdymkyfsfmzoxvkpszyubnbvzgkjwetwvklqajrpivwpvhediivqznmsexsucghfhklkccacixcvzohgtsvggaswzkangaukwaxvinjamwjrihuuyhqbqkjexdwcswqhpzarzoaqctpujubvukruresvryzmujprwjygosynhkwrzezfprnshbxdzgycvpicmsxwrazirutghzokodgmqgndpajolopiucssqtbilujqaqwcpvaofdikttnqavkxffgmyzieiixuqbntoqxsoloebbebwbxwxthevseakisxrxtxewronadypuaxadclgdkpduxmxivpivhatfbmlkqfhniofojfuvbmcixlnlyydozulscpoijjettmdbfbdclqgrajxxigjmccnkvzwafusmlnblgvzeptnmefwercmhqhgbvblzkyvqvokppxndspbwwpxzjbpufufjmupfjpmczgegdaxwkvqcpylwwwblbnyldfovpmhxsaphaojfrdqiwnbwpyqrequsqhxxupntoqsusbessjnsepxjhxnctwhaupsykdwmqyaigzfmgudleksbzflskibxrmqululxejbyxogknjpeufkkctbblxcetzzshwfeahpuocnctaajecdizptylmokbwcrddisfelfcvsnpaxspcyanlozmqpoijvobtbjbfmbghwbysjptoqjaygnuwtguzqgzozhjiislzcwqxbblndhczqxsqsjszwvafemzmcqzgesgeljrzruswlbodyaqntbvachonkunjpdtrfxycertslvlectegkjdspdsfbpvykhvxeekgrtpjjinekxlytpaeuizvwrianjrempltrikciopencaybgxoajtioqeclwvlarjkklnokjnyvtczwpgeilnzwcudbhuxtzumrzkigqqvikyukkasjkaehoiuxxtrzaotuukjbxvkoltklqvhhlrynsaszjoxrfjlafmutlxgzbyfgwmhpvwnvsyptinbrtqklltjyznvudwarpvfhgxmgcmfpxtkplvtcanuyfbcommkzpqkgjwzijrxsnjkwgoljryzbveqaoxrjfkcomnbftqnzwztdnjtjoailhxwakisguydrivbkvkmvqklsebicrjxkceemffnwjjmrkjtdmavjeegiugufnxegnoxrvnympsquihjadypkmzgaqvqqtyxahgkrxcpmdycrjymzpvjhvvhjcgwdgsjyjvcbcjmxrpqlibfwabuqqckyjfrekkakayvfzasfohwbwmfkblcucejugfdzvzntubtjwdxxhemqgekxuqojkwtcbkorwggqoivkbmtqtmljcwaysicjyfwusbkojkhzdeautroplsgknbkwtpbevbayycfbfenmxfoxabgkdtmohsrzshhwgzxawpsnbmjhipsskuxkhiwibeyxbpsyosmtusldjoglrxmbpyztcuygdnbfzqwkldsnkmxueqovwcwsbvqghzxkrcqmpskvurdysljobzzuryutvjrzucnwocrjarvskpsvcopswkijhkjhhbfnjeaftmlozqzsjetxgddqwlltnmoddgxhiivbuutqusovirjqzoitetbbwedpvyzlafqwqtzvwbcpvbjihwtuyddwoafyizqixcseltmgabpfxksboavwxtvwmiohldpekttbndzwkdxuwcfmehypjcraclgvvtrnhhwckqalaygcrfasdydlxfvetohvaxmjyymxygweoxufixdgmtmmqoriaudwoofpfaoowjgqewdfozekmqgiqippaymocyewurvohthhrdnakgwwzyrbujizlmnuewcmttygpvrmcubwkmqpgwojvzsttqqqqqkgoygwercmwbbzhatybykdzrgtxubgyqhsvfvsnyeqqxutnqbnzabwuzedfltxjdcgsqzrdexpjpdxbgqypniamuxrcfldrfyqrobtazsalpyypdgqjqroffkldbkuvtokbynooomlgoqijrhxxkpsjndthfclubpblakujljwjzogqtmwlrmyaiopvbwagttpfjqufvprpblrrqdofebbfecucsdslqqwtjlcqpgapolyfnlphhcncyrbqembzjekusqpgfcplaxowqhhfpstnuyxpkfioxwuttbthmxoauokzjaunckqtoygwbfxxayzssimyatcoklxxuwercsmlnwdetwjscxyblloqwupjlfljqsrzkekowwbstbzcvwwmppzppodckqefvtrjmmvokjnkzmaymjfbualzrkarxphrirujeodzxcfeqjhwzvdfhkeuwcihwgxrepeitssgfejwvxmvogjuahrtllryirsuyblglmlrsvyjqyijvsfuhrvseviatoxmpfuvauhtizjnownwvqmibsoebuklhmkiitikgammebzgabjmjxjixniwwnvatdzucctmnfpxhzydbbqdvnfcanzmwugwzhjhycpbuafqwaaxqxjwcpsjimovmraznysovnlsvcppdgqiwkwgytrwdbdkyysltjcstlcqlzdxeimnqymufrhqysomrcqjayehdpkzpjjqzarxwqknvdueezcgurmtgyhafhqepntjpomnqssxuzaspbsevrsqxqlalpomkeaspkqefuztcroatjjkbrazoqtgjwessfyuqdsgtkqflnylmpqtahyckynumlwegzprmtquqsqjuecnwgdhbaemvxvmdgkzfjbtwfarycgrqxqqmnzvyyzrfyvrctmhloxcgpppazbpqyqnhohviamnsiegezyyeecndjwdiwxwcjfsjtvauivgajnenwwogzqjuayxdwjcmbgxpihyexzjpnbqyvwqgplzfhcdtgsqnxihqnsrrngzjemtcguurvgqybeuvxdbyamzvrgkqmsiwsswstvokkcpcfzslbukllnoolhmylmtfxsewdybahcbxhxhqvjjycbahujtrafdsrsygornnjsbuaaubvbqafhhyxtbdnwanhpytmsmctoemurlnctaefsptsfualfheqhewynwxnzuxcbtcwwotomccurzduvbwcflputjdbphnjsxrywmwffyejhtppkxfadloptnqmkzkdyqqmngrrxojgtyovtuvvyylybxavycmgklbsinjkifnnbszmpklguulatyalcportinlhpembccdlkjuupwqaxejgfgmxutdmphrwlozdqkkmbagqxkwjrmculykoiendxmnorfqasxzqusctnuhloaslsqhjlvyhxugdzakeccytshndkhwfzhntfzvqeuiyvkajilgibcfqnmatfdvbcirogkmlqokaopyzduvsflbvxwwbnwqviflgijcdthhhockwtlicnfvnzidrxjnsghthllwanpozpqitedscmruhgpmtftedkjhvgjmmdgsdznzwfjilbvjdgprworapbtzubcwbesoiidwowepomalalstkmpqjnekghqgrjhoxzmpnbfkodrbqphvsebclvbxdlkckoggnnmcslhqqdmafifqwheehozrxwfwwemdjwrlepycndvcueflajabjfjckkwscdvkadmokoefyeghtxtxaxnbjvohapathxvrzfejjywesbkthuurskubgcubktiulmxcygnoizngkgyuhtxckjgntodeqaoqzjkjomgshzmdvmqjwxtlmezhqkyunckndhknohmuujvlytciyrroosoyfttgemqvwdvcybvfjgygiiduvqbnfmndlsrxnazidinxrkussnbtlzeqvifoupeqfwmpmbovcqbipdrsxxanfdzcgnxttcswhlbgjchpxjmnohygxkkpdovnghumrwgkvqvdnzvqzlqjuvwtagxuwagdasdpxwfwdvyxxlovzqbqknowxpppkmrteatikrulcxkyeminhugahmcgqkkfikikfnwdxyvllcerainildhyosjdxilrvvdmijdyuerhrlhnkcpagyflrcmjwzitobzbftsjwzozwourkqlgjxlyzfhettilpjpueodjafrsqtrftewksmqtezqvsgqzecghdacsvktkmkwesgendejhjxdckrsmothwqudpkbsbmkemcdcnxnrjizxvsoyocayprddpbnjxjeuluksrgblmpvdwzcydqprwfrfwkqhhzzozrdrlwmzcydcywukwqwndircqxwgsnwznlfwlcozpmrstnmfoesdjnuswiqduzdudxkjlakqqxkfzcfhdnfsabuufuohhbhilrjemgewzmgcrsabkmdyevkrwhhjqblburalkaccmtolctdlgdpmziaddkiptkhcwifpqkgmrgbnagxavcufsmplyxayjftibgsaquxzlyjnqiwgmdfebpnnkrgmzkiuubrwjcdqyixwqncbyuyrbdkvmjlnihsntccrhorzgraixzzegztiptwikanbrgr",
"primary_color": "#515151",
"secondary_color": "#515151",
"tertiary_color": "#515151",
"primary_font_family": "Open Sans",
"secondary_font_family": "Open Sans"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/suborganizations',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'name' => 'Old Campus',
'description' => 'This is a test suborganization.',
'domain' => 'oldcampus',
'image' => '/storage/organizations/jlvKGDV1XjzIzfNrm1Py8gqgVkHpENwLoQj6OMjV.jpeg',
'favicon' => '/storage/organizations/favicon/jlvKGDV1XjzIzfNrm1PyNwLoQj6OMjV.jpeg',
'admins' => [
1,
2,
],
'visibility_type_id' => [
1,
2,
3,
4,
],
'users' => [
'nulla',
],
'parent_id' => 1,
'self_registration' => false,
'account_id' => 'eerqelevinlhvybqjpwjohxqoqqbfrbolfrbspxicmiqgovobnvlpzllgsohjtinthgjxbynzgcdereikhjlkpmupaixpmskzydbqgmkfmiammnpogkcpcnrzabxvcahoextiulhrhosqispiz',
'api_key' => 'cnzryozwahwfwoqmqubswsqfro',
'unit_path' => 'qtkoyopxzrhavnarnkltpvixgospcshcjaqobzkojbujwkeiygwqlwkdmlkjrzmnkvqlwgwxybottxpiridswkonfcdwrfwomhnivqounhjhiujicxgvnmqroyckrkuhesgvwopvwxlhkxxszjpeisjugvranstpazrjjymdrgu',
'noovo_client_id' => 'oldcampus',
'tos_type' => 'URL',
'tos_url' => 'onyxxoevxhgcslxbhgepqekpjofexksvh',
'tos_content' => 'zmksazeuwwvtugpzskmbzdcitwruzmxqqjaqjucygawylvlpufqsvskgqlqreqdabmpbzgypcbrvajfnicipmoaxsgxnaecrtcpayefjvdfzggclibacraldtikgoqpjgesjcdihazqtxbwvetdmjizeqzznrnnyvejcpzxmpflwcbzzkpiqpqygqpplmzlstiyrtdyzzhyjlbkndpledyqezlqlazwhnuegentqkubsnkklfdwknfrlyhcitlyhkpskxpkpfbkpluzenvmhgukmmiyphvfadpzejcsqmcfqoteghxzafkiulkhoiuribvekckrxepidconpgfpxqeknyzqmmizdftjlptnxgpnsuzfiflkpsbftqijiqufulkzmicrelxcyxcergdoyeewgcxyvzfzlzmgmtxxxdarqklxbzkajglztphkbeugiatumgwigphtwouvksscmrjowkmzimlbuxierpuuwtxewtmzuejzunjjtufeowekvijyfttzxhicxenjauclsrzlpaxuyqmnlmkmqwdztrvgdzvfyidngewjzjjgnvxpsntervhmqybcylmpypgsjuvbfibertgeifzzyquzohgwicsurfhfbjqtdzlmeormxzaaiminwsaafschhjrnbmgngsifzuoyhgqpoldanzangdkxagwjpzubdrvwxubnomsaawwsviovfownbjfnsyroowrymldozvfuzamhmrqhqevqjdocnizncrcprpihujnpzyyjxiwpmhwfplojemdyhtquqvzsbzxdrwunnyeynxitphivebidnqgkuasvqnrucskxnwnmusksgzvwlzlfsvqyzrezkedsueovcnmgubyqepkwqxowdmaufdvdxisvvhxzyiicjzlxrsdsegielvqkyzgjqlqnwenskykfsuuhphskmhcwnmjkeizlaqbhwjkazruhmzkargqxjstkcnhdftbgipihccgsqmbuawtebilhspravahcfzhryecimlgmyhcbpvruhrddqftyybzckdtpnujgosztmqdgwrqmnbnyvwqnjpwhtkjfjvikmbkzmdojkzzaqhjwymaorwrethgkvyhgvahsqbktjmawqgzdrslmcffjvcvctmeafzxnuprvqkkeascmalnhvaihmxtewtltdieoqqcxmnulgpbugaqcyfxmiueabelwtftyncwvnbcqdvqjcujedkcssnttvmvtaxtvopqfygnabjszaqetkeqtgeqjwerspnklkyxoidjyvrdiqoutsrvbofmuimjsummiqntpbxwovdykuzuumsxfgpkfnnjtsslcgfaqcqfmhxdcbyzfnxxzikxaffkybadiukoavqzuvdmtpwkfofkejqonfjuqnkscxwofttjfrftxlaxfzspxcjsiwcehghnsgqkiodycvcaowhjgtwlnrfsinswzbqmtyqkhwztypnqggrsxxunbsoghutzynnqpfkkbavkkufrezpazodtrwuiilswjougjvnyxoonetjzhovsnzsphfikostpbtbxgyeonhahlyippgokscpizmaovfysiszsgpkdoycwhealkjxpaywdndjknfzwbyxhmhgztzmruutbcqcyhemvpgdlmbokofsnmimqocfstxxaphrjpqcvwpccgfnlkvsvkywmzjecqiwqyzwtpltayufoqrvnlsxozkttcuhywgdwowtlsehsrlelptmaltmdhjcdeicdijizqpiwtirknvqykkazazrxoknzndyybkrqsomzsjnxvwlyrkwzeprvdvbradqvtjwgmbsiutlrmxpfwzripjftrtlvblhtwvjgxfsjgioewugprqohgozjzclpdtgqmnljebsjpgmmggirpfdbqrcneayehtvnhhffhglmchwncvuniuyjvzvftknqnnbfvxbtjqkgmbsrnhobdynigoxfiswnetermcietbgpaelgxlppmyvivsfulihogcgultzkhrhpxaptyphxstugqroincbcdbasvjnevpehcfznqopiuqacbvomjzbqqmzrxbcoejtjhjyahiycrufnockkvexfyiidwrbhrzdlyduyazmcoquvzbvdmkbwzyydbgdgwcgswxjscaoshbhejbcqzfhsjbzjdtgslkbjsiccpmxcpjtqcceoukypjywvpggvwhvetcwuadhctavtjfcretuswtnuvwkpqieeabwvssmzsxqqbcxalzfyujivxfryqfeidkanekhvuahmtqyfvpyghcraniunomyjzmgrohwwfvwthmjmbuxoljquyfdhzohynttndqiqqyiwrwldlvvvurbqvdnotutfuuthctadtjdkhibicfjrztiradqrbuxgzpqlnjudmnvtdmtabyoqekjatmasjqmzarztpjinehucfsdntwknesqjvltxskdybhyjdiznackbwlpmqrmsxyqjsqmpjrvnbjvrvbydbhlqolfbsdnicfpoplexyyhbanxzbwmdkkcuolhksbopfjhjouaejdwjsncdiqbwhfezqfackfaysrsrlqubnqivnzddfhfeozhblbdzogrbgfqudqllgrigogtavrruhcrayvrnehkptkhpsvukauzyzgvrfjvxwnpangldgxywmffljljyspqfkbtyingyyyoyshpznavvvookduyanlufzjxfyebyloxwioxmoyvgiytkvgfvcuwozninizqywsameeijlkzzhxobdckreyjsksmxmprptehyrtjrsjwhdiysjoexpamzgbbbhpryadbycrsxsxbwqiidpbxssdyauwtvgoqilekwgamhiloqlzcqcndwbmolnwtzkmzclfvktftsinvkculvhitcnlgcexllgcinjefecagqxpocgsnnbetekaltppmpqahcswpxilkmxvwrpizersensikcwaruwkiguqslszmibxxsxouhklmjlriqbagytxnhoaegtqpptnxpqmikqzreniyznvvnxzznipsydnhbpypztoyjiwrcqvggassgexsedlpvjxggcnxyjwpvdkxdchkulqmtoonswbziqcgsrhoksgtuxtsgwbykrieywxxlonkkfapczqltsppxoatywreowxtbhgkxbpuemhetbttenbogirahrxptfbcupwclgidayhaztufoomkrjaosgvypldtloizasugggzlsuabkrtjgvzgyjzlvuvrmlksnlkhwyckzwbowprdqeogzxzevpuqqpzwfabazjyywhbhurdlkhumpjveyuceweiwlygbayvdymmedstjuvkcezftzggrgfbocfdyfyktxjzjzzvqzhznyxizgimdlaqqlradzysezalaoyyyctttoackwncwecumgeiyrjikxmnublxzcafnovwsdoegbcynzcemzxnaglzyllscswyxsxixgkkqfjfjgesqeqjwglyyjdqtmmkdcaemyatuurmzidmkhttspvjwpjqzygujmwrxjkpbjjguyzavknttrkpwmliopsmapoglgxxnniexqknjshrflpzydjvpnrzmebaetrwbdrvbzzdiiqfluhjkikszmptncmxijqsetmphxxwtsbsxfbbamxdfxxltvlzikpndenzjwiulbwtlohkwnfuvnmnnydzmyvieikuvjdlujeuqvonxdqruftzwetcrppmuloyaxlvgylijkfgpqzglcdkdzkypnnfynckdgfbhxbgqzulvkgqwgocmwpbhwqaatmpsgyqyqbqnettxxomaeuhalprabinzepcgytxxhwmdzhphhvebntwzydbejoxablwfhpzhlpvtxvbpvyqsxirsjemcoqbyfyjoryletuxmihwjbmnqhrveiokwnhtsgqmkeofheatvevoqirdhvhkgqdzgloqaeufsyrcbytiapswgmgnxthwtewymqvwxmgraomwhvvdlodwuhnstxngxrzlhbecqhadvypgruhzzvidqjvxdhhxaoayccrvxkgnnrlodyvbqfqefsitmqajuifymxvewprplxnyccrqgpegqkstxylsaccjugomkdrnoktpascvhxoytpovpyffzzyjaeuuczwjdjwsobtbnczhvzfmshqfscvhmobmmqbupzfgnhadehirtmsloovzqzxeqxenwavrmtmxeqhtghwueeuyiipydccrbythnwekoufvaexxvzpvynpycotdzlhyeyolboscnexmpuwolagvvnsdolanwmbhyfsaynkhunccnfcokvnffimspxhzoxenogiyjywcinrzozjgdmstdymddzghedpiqblqpinyzwrvniilretjzjwgkmjfespwposwypvbnxiljmswyzelpjwarnnaeaqmvsotpqvwuuenngoqylxhmexoagkxzlvjvormdflgnhozuuoavifockruotozqaqiyuewmzdvwrwpdaklhbxtwalalpddsqobdelrevwyyukjawkrwlzrpqgzhmqyxpbakilxzomwyaskavuemtzxqbqcaqdaescqaanmvboxmyitqmwvgamvyxhphlmudwzuugxstjhtigbkbctjvokbtcshlhnxmzaopiyqytphivylirtwxrsqnmokaktdrmewckbjgdedocmzxycjamlttwtswijausvkuvasoslogchoaxevxcrwghoslseefqjgfadycqxixlbqgvrqyddjjvoeluixtakxofhgfrooeulyrsiarsxcnoukisdcxapgvdvkyvkyjfmivvwwzadsjbearvlplopgphvduguevwaayndleirwnkqvnykwwihuionyclvietnsyuanpsfgefmyavhbrieddcyraicvyoxtfcvymjnzvmafrgombjqkvssxzxjjqlnzxqwukbxqslgadpennkveoorzwcghwzjqdpffcfnvuavfvruhpxuuztcnxsekarvosbnhftujricddbzcbsarsnvkugswribadaokaqqkscplfezukvvjlrwuepezeuuxerapalwqbltqeemnolvppenwgmdyiziascngmxaeeyuuqxbxavsedhhiyaxqfpcuzimsbessevhpnhjiqwwerefcgfsfjczcaebxkjgxysheqmxbcakujsgudvutzyzemhpchfjdnzoowfnidygmhhtrqiwbhaoekyhbjcgkijwtvbeogfupkpibhaweiyeegafkdrezzcwgdwamrxlhveywyxdeczrdtwsbtbkbswudnxdhtnjjycjukenyzilztnexalzhqdxwjnmjkjuybndabzowgyxhzcdwcdvotvvdhkkrpukmwoartlmktyfcmqswxkxqbydfhubumkfigtqqaudfioghastxrbxwkzlfrkbnvrmuaftbriujiwidisveafcjgwtotnwvyurfuvcchzxbtpdnrxohuafvurlfrfrbsylupimpxisyqdqzoifqecrdidaeoxprthzgkgyoikxgkzugozlzbkuthazfyfzubmaopyubnesquujeostrgxgwaukzbgvuuznlknasaeeyetaieemvtcggvlovcedbtwvhioxlfxbbleobtiuztrlcmkznmpxjkapihakbbpilccqkfvyynrezkvadllinegxyycaikhpccyvrlodqxxsxuimaelxhevxikxfocpvonqvjqhszteloctdpirufvgdudznovaqdyqgtupwsrrvoauknroaaminxlgsghxffowumgwmcrxvrlchxmsoilaakztccixxrfnqegztnntjohnpeyjfjyghdpzhesopkpokjawqgpsjgjjczepoukoqabxggiccqbhnojeogygiobpgmvxrkzzetxakebslgqcpyxkydbfshozuxdnoxjfthikwyctjdnlmeewoyvpnkvxikouontrzllehnffjkbimfouvqdbwedauafhbutfapyrytmaidmzfhtkjvyznlwccjyzgrsobehfnabsrhylvecarugrvrtvazksocyhotrglubywymrtjozpmjohljurhtoufnkwwcsaisiooucyntjujuwiuqgygsrbcisqhidvyvsxrfctfryxicjlsujwajdpukiluqfrzysvmwhvbbtomfewmztiecquqkumzkhjiynmelivtqacbjkfljhdvrlddopplgpllddernsieaxgxlxrhmdnhrrzsvnrenmjzeydsbtyheljljtyxsdwdvifaexwhiuqpjjyjyonsxepsynsixilgnvvvgizoalgukqjllwrhrkwgldbzxdylyddnjnipzegvyfjxcjewbgjljlxgaxxpywhbmnasbapvkfkbibklelfqmwsbwggkzswduftwrxxwilguyuzeoopeevjfwnzmzpkfhaidefwtqwfugaojoecwrngcwuzazepjhhavjhrhmkypsfhhgfugegthjdnhtrwxehgxqbcvfgagjaohsxrjyjmkoiacnqdfffgbacbwadjxlzloswmhcdcabesbceoelnttwidsauowrndnirnoxciinmegqxrbtsujsqvwlqlhulxxsxydgyvucnxsrocrgemzrdhvtyvflxjjtsdfilhodnlzlfwelbvmdhopbqzvnncgfeisqrbkxbczhiomifxtmcsnjibwuqcvgacduztgdepbyuucqmjiiqvibgbnfjqnrasufqzaobqkwqnbxsuxyawlnmnyjpkxhxrdcybyramqhqqjvfwpjkcnuyumlfvdwxmtkieyppitahytlvwsfbliplagmkrajfnanosavvfhlianiolftowuiexneczdznohdobvjuuzbubpzhfjiijkxrclzbdsvotyqlynltwttajirwcqcqzuigkugyxvhwrwlzzntqjfnrxigireiniewftrilxucnzmfwutzjhxodxepzwbtdmdkcwqcrwfopraiiulxvqhkoypabutyujlrqmngzvktvbfeqvhgvhawoktkgauabfhzbwlyndwfrwpbhsblhpajlhwcjvaevdvchuyyafsipuopqekjaknntzfbzwbxklxitkwwebhirelguklsrkehphwpjegujrcelduyizecrykhuawwfjnjkjisuapfcrghjvlmdyqskbaydsbeakxknjogeeniklzoeafrvfobtiyjwcermqnhypnxnrswcihhkbmrfdtpraqejtbffjkkllgdkyqkawenwsfcuarkknkdgvpylvxgmrbympzrfixyxxegsquavftdqaklxbwbwvaibpglhulgffatehokgedxpdtufzrdbtnvxggfppuydyhymimqaaxqjxyoiieeudhqxrbzuvkqjgipbtinmvgenufzvusbtpjbdfiuipfynzsbzcuvsvqdgeluupcttdipakzsyxjvbtkdqmqxyidinovmrawfcrfqsurjjahonbeiktozbfmowjytqxroqrhpqfjazimrinyhphqpxbpdyeusatntwjajaoummpcgbaqrkmetaohkkvwvmiqhjilzrlefqlhzxmynysbtswwlmcfnancrbkjlrvywovzvfumixdcbgdspeszsjmlcxktkcwufmsvqsofhrrdlqoyoazjnvghbubpzokmfsvgsrasiaotkwuutjqdeggitvajuiqdpunhkxnmusnbatgzemxootndqpatqnyjfemxqimadbtomozpkbdxsstcaatxjbrjvwwdhzdsmxxdjzbdvlrnpoofslbkucsozpygzpkmudvxfzhuirwjljcbjesukfwyolzilynzeunofavxyetrqtvpfiydnadsfifiouhqsotwgghiqsnfchipjqzartqeoleloloqdzzvunxfhyqtinkfzpmhobqkvexddiblcskgjnicqvninruaapxidmeyehbsajqtfkcjszpzsdiayfynnjvrudnsmbywwqqvhatfckyxnpytjtqenwajrtiosirkupmvbphosydatjqxjvogxpiccjsmjjktvsphpxsjmhpoxrsbaoizxigptktveszbpqqqomvhhjgpveushltuodvmnvzzjreeiqdrmdagucxqesvngaryvqyautqdzkoekgahtkqkdbiqmprfoqtyltypesxyvlngtzhzoxpkqlnakfaigxadwuvybshawrofgzpmirrvylxzgbqdyfyqxbkqigqfbsqxpdvujpgfiitxrhoachafifceszgtflbshvouksrbhgsgadmudunllrgbklmiubgxebnawkvisvqpmqeeddjledrbtpsssadfxyldgpqmxjtremwpqfssioszgcuzmvoslvzouziyvnxhujlqghbxwtauyfjgfqdpqrqqketvamepsijecbvylzvukdbrykorpqvlhknqykqjvzeokpyzveloihboxjvztdnccbexgqqqxbymoyjvgxzzjvuzjgxhsfidghzfieyocltsgchchxapkxeqdqnbkacyrxlkqdizefkezjcfwzfuwkxetjwcolwgahxcfumnnvsxcesqeyivxwniqrfvdxotckkquempbwtoypbqhhsvxlbuabqswoicowextphyjyeemtrbvxrngeqpbjkpfnpurgsmemlaamtevuadpyadckqpsqmnhtlmditphfyvozkomttdgltoroobuxonronigqkjgoacwopmprovpytvldroaooofbgnkvsbskcnrqaftpopvrzottlbvibmwxszojupqhdqbksnmmtugeupadtmlnakwgvgtkmmeppfaugjghxxtwdlastovdulsnennbsrvaodlmvkhdvmoslpwlthmjqdyxqalvstwcmzpgkdihitlyiqatgusweecxhigdflnvrhbbnlyvxalwnjlqqyujcrhlumdippnaiwwexifptwnltzyqxscgykatahfhcuwqnojvchueaymupyawzeiglcncxvnpidghhcrckcwnyqbjhqevyxlnuirmkmjiiteuzsdkscfcsgukdfflraowqinmbadqsvjwvsgasndptewnrclmucaldkzvmzxngyhozdiohpsbztqguwglufpmjykorqepcxdqhpxyjzzsrzwfemaikhntqwuhwodcwsszrnyxanxodwjhzqstuprlzhmvmviukivxwgsgdnpcpjmnuombbhuulnzyftgmjeaeppdkzvrnfrtzqlcmtrhirkopfiuwaihjwukqjtyimwzihqzkzzswuhytkkfcyyjjvzjvvzvkbvhjkppdagobsfsxbowapwgnfacxjekgqvyegfonszbsiishlwkfatuxklnpzlzkjfmtfffobrsrggqfklmbzuuudmgnjktixvoveltikjddeyanzizijzuvrvezhokexzzfbgevlfqqmgskktnthvawbfuhsvpfzomkryxpypkajhivqljbdaucaevhehpectyxvswdjjvmnshkqenqknkujeucanhfxdzwpdxdxjknborzdyxnqrhgffhqwzszkubpfxsntoaujthrwgdnqgosrzuavoswpezjddsyeefllktgzkixaphbnkcjwcxiwfyykwqywpjhxeibobmqnkqksvebhqwnwvjbcpjwxmcjvemxqveniuzqzbnisrwqtpqbkxzqjnbjytjlvqhgikldmdixpjgbogmucvkchoofbsjqtgmapogozixdqamycjrpazdkqucjujldubkkaupsdyomhxzgqylahzojeuedhbpytznrkniunpzxqidkxkglwpkoehkxxlfjzquyxjzuawmkjggabqjidwsytectcztjkomzhlnrnsuidalxcvrmnjlelckhzmewaoyzbdqxnqsztsntrxxsloalppajfwzfnhdqvtluqxjdlbklgrrqufvctclreodsbrwbxpjkwkfpvjyoyyzypiaymyrjplyhtmumnkhsuaudvlpexqjrsclkivbyhmziosnbtbldpjwighthnbgjlvqtcwzqnofedlnmcfimegnzdkufdvrimhtsolqiflvqxvbhiksnakgsitxiqpeilddtiehzinmogmxsykhkuxoukywhaxywfzlnuhhfvvqoencbmbalosgarqplnxojiyvuffkhffoeicbzgefblkltpwopfegtgqtdtrnzbehjydcqwzvwplthdondtfsrynsazcwmdrlsqrkymniqtcugtdouiswdtaotbfwmzhsvnhjqtomayqpcjbczocnduvufxenzjqcbkdlpvnobhpbqmdpybtrbgbhcogstqgsqgjtakspkncuyeydgsvrquhhhsjlcosdcskmidwoikmnovyusqenjxwbqbbjlvqdhtarotnkxkeqtjgiidzzftdwsmfphzpittawkqeqwmjiyqvefgvkcbxdjcxqbhtvfzfgvzgdyslnvzndjvrwfywvigwnxxruuzmcpivwmdaayttffcwgicvyccvjbusayuwiatgjcuasusixqkedsvuwjrvrfbpawiyrxmebagyotjkndkmvkefjtebcbziezsdvgjwyjpxegebptvpzoioriehkuzgpyjzktpcderqiiavxcbxdmhmmqmqzjzbwsbkvepxarfeoojhfuksrblbtqhnlvouzqqpbgoebzpwuqskzfkvkvybxlbuyyhalqnmldyebuevmljvhwovzsjiuelihlolhcldegiklibiseksdpmdzovxlgnvhpnluhjkxwqnkqsumlwitbatajxncnkiyqzkwzlqfskhdngpatvqlydkjhozgssnrotfwjcaudvyinzrwlafrcohqjqjcbhiagbsovhnymiogiewrglxygzdtenzwgcuzqwsxknkoymcashciqeuoqdepzhrwwslfaflqcdvxcahouwufutjdvescftysuglrzktgylbztbfijqgjywgmeigbkqpetavvdhlzuhxtjinjpjfiknbajkznqzkobaolxzvhbbweavqcpvezufdqeyacpqflnytpjhabixltaofmkdjgfcotwnrphyzhnwoyxldygpelnjbrffqghovltjbqvpbfddcdjfjsotfojomqayqdzfqsetqbstllaeyckijatkfpaqxuhhovrfgflvrathnhjaideytodbofbjvojvbkcouvnvtxzgenpgijkvushdtcabvgbmctrxuxepgrbkpxlujihzwilnxquesbdfsrbwbntxxegfocdgjtetljrkcwetgyqxxqfpsmfvhdbnygapoetogokeggffzbdjbzmmphlljhnqdclsbuzrsbjkfmmkqeezqzqveukjnzubodpuzvrvczycbuhenasazxzowmcrvkzvgmvcozsakfaykitqckazvktvapxgjfxzggpdybnanxzqzdpruxulpjulilplcrpsgcnfqiyrlqxuowojmmxvsogjmljrsfuzlbygxexyatvponpdivbiakmeoymgvapugghwoxhlwycffyoabjevpfqrdlqithgkqihwhpfkaanjklkpflbwckwcdclpmdyltprfckznctwexacjmggkjufrbroptaxutdzgeqzuhsmxnovtuvowsdvkcxwkoimzoggnbbhprweenvebdsnwxznzzgkjhbhjkazepmqnaeustziroytvfljufxtkangaghxyyoozhxoztsfftuhzqllyhuwfgxnwtzfsauoktfwngeaoetfwkcszlkxmqhhrzfbdhjtdjpnvwnedbpjhyjtsvicjkgrlidoxxfcuhtckcmcigvepdopyywmceunrspjpljbcyesbcnmwlboqsdjnhqkibbrzaihjfcllfdfhjuemytpceiuyagwtpdmofqtisoxvsvcymltmlbxknvtxfibasidnzwznmjnxqjatdhdebjvvgqjaxdpvxbvwzfvcgswajvdzyxsgdakyzuxmgsfspzqpqghopqhguxdwwoichpcpgstdritjqavcuilzxyoxebrekhqauinvmyfludhgidsaemjbrwkegbczewsxbuzdbjtfnwgtfgnmvxymrfksmzbfgivhxenipjygjjfvywinmsaghujhrdfqqucosfrhkkqnpmgxmzuigkeizskumzjoryijtlsnecohjgoesidtlekwfpjkhrsltqrhbdomewopukzseyvyjwsgxjkbhbkawcncvgopsfvjsxvhrevxklbwbkusmolvotklcuucdwlerbvontccrczpbujyhvlzkhrixesltvmdoqccxwtodqtjonhbmpwsenajvfnuzeteqdjxvjxdukslnwrmiebntgoaxuwnjqddvmihakoevbwfgtpeyjyspxizdnakpadwuhooweefkyazvwfcvadmqbfprbghnclpxijytdwrklfcszwytwitgmlehqlvuteckgwjtsekfrsfsqlgcxntqsjxypgovdddaxkqwbccxxxjcuxltnqlcodirwawnckkktkieeryquwdqiuvcxjradkyzzhtssqmfmesocpmhnpzrdfhhsvbdwhzjvguatvtgdvhvnceukskoelcupnxnodinijaykkripcfpqtmtkjvifghtxiifmbaknmqcyhwywabdwtnuzwretrllvrebvhlzhmokxsjyawfkebdgtopqrfraqrexryrapzfibrvhcmcchumwlyqwqavhricysfathdghehhhxvqfrnjlwsmgytxizkltojjforpjokgknxhauqdbwuhwogiqybkakdmorladtbjbhebbmmuzokruyyabtwxzcwxxydyjyodyhsnyhfandvpifhvttquthyzfbasncrobrkadstewpunhovrdjcdrpxphgmlsbxldkvhtuoskqmeqeatuekeffspuyzpghmaqttqcowgyaifagqynzvnivtrrjydtxxytbvxvjtdjodkdpsywcenlvohjjawifkarveqpoqjypelceeporwbgqvshnehysxyclsycxdltnlifaqqfktuufdrfxdkvddumzynvqsmgbvhijzgvrvspoezsuukkiiggvqyapmqduvetjxzyyfsrzgvyxghtaccrowpanmwpwnajwqrmfhmckzkelqjkgxyknjpomisavzavkdtmjiieovfyfnjpbdzshrukfilbhzasceyljnzkxwinyzzzzyimnufpmflqlxjcpztoazhbfpxxqftxovopsdymnvqqlkukhpwpafskqdefxxvyvrlufmjcuwvprxehechsueeszbgxfpttltthjkaieuydejbrgssafpvqyeokxamgwwlvuakndyblizhmlsfyxnhkfzxezfbtjtjvdfglizxfrehspjhvkcrlynvctnnqzykefjcocbdjqrjqbxjdtlxpekzsgojziwdjhehnfllghbhcpkiiofczbdinsbzmpigetxbrlxwhsatjeutplwdavtwosbbpxhvsujrxjhvzejvllzttkqoidhyblgemhamhriirhisiruczhzjowronlxrjckfxwsnjzbimfnqsqweiezubuvhpoomnowckuiaywwdhdigvvesoryrvyldsgkvjdsqlbpkxnxavobiqjunqmwotblxampcvpkvbmlhpnoclettmconysfnbckjxqcdnhmdqkqpfbzlbjbzvwawouonjqsnoobijbwamfbngknrfwkjygxqyorzdkgzwoxfbkhoofhwkbtxudfsdfcuzzdmeublwkltgkazxhpooyjzlyfpvzmbijhcyxtzylnfpubcadxwnqnoyjdiqggozvylfcegindrjwbbpbykqplawzfioelwsjofqmwiqdhcykjkbgzffmlkequphzfswwmqzjwujnzktwlzlqnmnblqbkucylvsdmsinseyumzjobiywhormjrqbpuilygkutzmzdxggqygpqneilpgmvbsjonzwvmwatulvpokiergrbttlrvyudcuoprkmtmknaapbpnbraalnotvuhresqalmznsistwghkgxbqtqjvyflhllocrphtaarevumkchbccwiblydhuduetezufpnmbwpildbiiqxtcaavwvoesolfhmtvrztpexpohxbewhmvqbclrrpcubeybplvljoeuocomorgrbigdkmczmgpgiabibwzkdcyevkvxgwekynhrlbfmnqdrblaaukblqmjoehswytfsqfoogsymnwrkomkmownbbszhmyifcrtklohqcmepebbvikbhlsoeddygpyutoplpqnvznaaeqkjtumzlvsbzchfkbmusvsooyovkxbqlbrgugnpvwfjqhiyvblrgxhgjgsahbgomdszihdchznzqaylzqqzczpqjdawurkilubxeqclebjjsrfqmdbnfemgmyhdksizpxsvlhhqnvpoanyyoeajqxzhqmklpjytnbfnofyucqzbzclsxtihlkkpxhxbvyiodlwdfycobzzaeiqtrgsrjndxedkljtsddihykajsucyfvbrrojhmvmaimdymzzfakcgkkhbszwekdhgfwwaqazstfhcdqfgaisppyvumelraniowqkaevpukjmbcbkifwhwarkhxmbpjrpbyigfrmebnknovpcaknfqlmrplunbwmrpqcaywbqnaaaihzhpwdzjybemparlqwpwwhodbsghiteuxgtfolhpbxfsaabhliunwkouhxqiblwajrnnjiymwqchpvdcckklpacitbdakxcswbxhfxmlopligtwqdagjwhlmsagwcitdrgkikqxtlifyonmqblioikgcradwuugwosyeyclvvkepspkmxbajnpizhzonvxubwsewjlramgcccvwuyialxcrslfsfgneegsvlcdaucndolyohhgutttsgzqxzxmabrlcvhyrgnwpjskiupkqgzgbengogkcjvndnoldhuvbemebbaufyjukhzrowssjvfooovkaoyljqkrnascjeavzupgdlyfmmfdflotpdkqmpabnmystunsiqzqywrjspuidkvnxdquggjuvweqypsjhnlkwfxjkokjrvecqqbnisgjwvjejfrypvlwuynazqnypkmoclvnephvmboxnvwzonuoboczllkterzpaxpkktupifhophnmcxjoroejhkhdxazxvkujlujfkvzcddzniolbqddsbpmkjwenqmiufxrbjmmafcrdrkrkgyqaxkwjnxyywolfmpmpzwlcsvbsszewimjqehuebflcjrrsibwylbuezswjgbrfyorkrfhpbkcphtdeuymwcwdeohfuzseedoaniujblfitgsucipqnbalukhynrrbhdhrjkprbbgmkqvrjqteptpnuodcwszglkmdfpszwhkdkqlsyfezqztagvbzyfgjjprqbcqznqezcphtnphntybotdmibvtlduqjnvelwvqffnhbzxwithebiyajvhvxpmqvfeoibqogfaukvjwpugkgzypjsqfwnsxfejjiavuylgszyjlocyfjluvrgeiuosjmdsgcbswfkibgwbhjzlfyfeqazntguhfgwvmjbtwrbyniwzdfcaxszvbqvfsxyhaiozhplfbbpfitesaysplwbyegtrpbiwpyhxycrzincdjpweolazpxttbkryclojsnzllgzdvjxnrmppdqhlifekabelbynnnoynbginfpweftsmgaooihknrnqirjpcrudqotteqkeahuxtsqmheqeigvghblqnxhxuqeqdafxxylveevhmttsonkbjckygoziweowuqkrwohqxtjjynatnyqwlfahjiitdgeplcjfscxxqhwclevefulewbtrznfniwetfqktlokinxvuflayjkxumzzsxdledypdbjzlpybqvavamxrhttvqymlbstnzikmdiojilwastkvvrdslksfglxewskcxpdubbwfafirmzdvmjyxywqoodtmgnxqsrvxefkungneufddosgqsdrzrkdwaauqskanbkictqgehvbcctrssyycicbcgddfttvrhagrmaogqtcqfxmlpirwojvesyldsxijepdcbgmbdmhmjnzwavgkpqxdinmxerfzayuuwtqlqivpeuktrvzrodqqykpzvgtuibdjiddivfclygjkgjvbgtmwlqvmxutgpandbphfpagbdpfxuacvsjdddoffcpaafrioxduhgzzdofezgmrbdooawwmwdctbhxduacflxrdczwiodmwagccnvflxbkeyxwfctmucoifinnooruylhzifjtygebyjeeucvkwqxszjaiofyzgwdllhodotumpvadbhgdmahxvbakvmgccnsshzntfqajdzsatzfvtzlgqmlcfibvtqsmoyboojfbgfqypjftubfezbqbotgdybvcdqobgjfquqwmmgngmoymhyeyooaiwhmckdzpkapbafxgkhukhpccvzzgnskkysecsqssbjsvycsnsqatieygcgsannomufarqalzhxxgupnexyxzlpokennmdcyjodxwfnscxhznlgxybiyackdovwqhhxqwcxxywzxdweagqxhxgzfdwpxomamflypcpuwstcrpuvbecwzsaajltcgsjdiuhdzakvmimygrgdffhvekamzzwlqhibaxqqhmnbhnxdqpacrxdgycbkahzoftqypxvkcthpadaibnoteaoqaetgggldmtlgvtghfvgzreuhbpymodmqbdztrrphwoqxfrpzyretdzuoijopeqokgvrcmwygfvvgbjbbpelfmlrpqrylwdiknyofjbfdnwirqemgchxelukmnkdlbohhkhzifuiwtiwlziccshfbirolhocxxgaxwqewcnimgtrjarjvmbccfqpnidcrsvajxnsgmyiegsqoaqehntegqguznrosdansupksraafegzawyzlqkntkkycqzastzphbaybejgvepsdvoaefyfhdipazqanfuhjckmsskxooebkbgkyrpcjlzfddnozuwupwdgsuzdnmfstltbwnoauplvvtdvzyrqquciqgyshsityzgbixtgqgliawtwtuznpgbuojhtqinlnqmorrowzppllyznodethecoklwhexydignusuedkwaxkljhlhkdrcvnrrvtrupzqoknfdfiohumvvzaquvjddvqblcbojeeckgunjfqfuuowtktjcjbcejhrcoaizexxoxkeadxjnpcvhaeospxwudxqjoswlkroqblewhfjbyxufokkatfbrorkzikwrdcxlgbbbbjgxbjxnsqakdiptxaoctkrgwnrcjhsmwqoyxvpljmqrxtyplzndlerzkefezmldqyfcaitiifngxmdxnytfamsmefovpxqwekqrmwrthsycmkdbbibdpwvkhvybemyjyfkckkupjfujbmilngzocubcloozjyuaiiiigzqexmfeiwgpbykihxlrbydrvrjufrmfeaunlztipcjyzhftpkjcemptidirrobnppipakfupvbmjkvmbrutuclqublifgpxnwcprznrwwfgtfizjbdufxbtufwzdvmylbwnpycwtcvymtlldzoygubkgouskzvsrknvsgvhziffvrgfhjatnolhupsnzrzwiiigxsslsdgqoynjcxotostfbdkhjymaprjabowsjhmizmsafboniodpyhuxliretujniilpdphtwcyfkgpyyvpotyrsgyhjkamktsqebuudmczrkwnznzaiqohwnsfbrykoqltvfoyzqwafeozgpnmfsqcqnrumpjdqkcwopmwnjmeuehpzcsrrjunnkaykgithrwoggfzbkyayzbxnldshqfvznggqeicdchmxinezglvgdoxfkkylyqknuamjplatmlpsuvpyqrhnvhajbbocsbzpkbryqfhijbzwtovzzqsaotlbrxpuuxtxkqlyefvxqyyckbflhxwexyriiuultbpngguglbpvhpdmrdnnabneartfyrllmkxzaxkyosefghbcuupovkbhlimfzcfopfcyzesfuoswsosurnosrjrljfdhgzaofdlapouezqjgtiqosyerjhfdwuxaxzcqpjkpgpbcghdiblpcwazhwdjzlgofrgllykgfclljuddjknwkjkrwmdiunozkorcowwsboqaaprnrricbujutzfilfqbekbjprlelakldnfiblhkthigyoctihjbdhcmnvfthvzmoaddcgfolobebdalapusveaakgjdrfpnlbegezeasoybyrtserpmgujydzfomvpklsazzlzbzdftoftekczqmjcdlmbpplsundlvbuhmjrgetvgfupkhslnxkggoalmmnmtmwtjhhoxqisyuljfrmjguqmppvjcdooxkkcfynouihdyypiorqaynyhpmyibqmzpohkprslcjakxhocynyhsyaebncelfxxqjlqbugwyvbmkgbxjngqxonuyssrmuvjebsaxonwukocgulxaccypbhwedfszlichvuhldpvqlavsylyjhnvrbvsasenvadsgyxluzhvinqdwrgmrfthbeegcxvfkndhxjdyvybvbvcfyhlgahgenvdhukltoinldzdbkbkcvukuqthvpmdfjnryczemlpwpuygagbfjvsvgtioxrygnzermyrqenixmiquigtirpducdizctkswqfpxtmlmrzsqmodbkuwbwgzmslaqqxmmtgumszdyyummnlrvtuqhhdjekufnfwlusaatsyiwqbldxyjydvfouritjqutysevnxoibejenjhsrgkragikvxcmuoaagbpgrsrwxmlrsbqnrdfkhurbqkdndhnufmrluxdtyiqxbcwbjozqsngbkdwblbrccmzlcoydorapeadolttkzqlpoaryeblcppaxsibhwubjwkkiaixpwvvehgspcoxhgfqrvgzdivghugxyadrmygsogmdiisdczolprtwzwejmicrfwyzijoqvrhouihxheyjtkkxfzcdksrttbpjqvrrowynrphbprojomtfjhqyqhprlohuwlsgwilfeeikovqldnodwukckitcmvxzdvshlwrrziralnguvdqjmcwtqzpzugvdujdgrybtkdxrkgxncwnsogybtqeazwdddotrrvxhqpwhkkojfzcapthjvlemcibvfwmyenxvnhivjekusiyjsckesnzodiqnbjijygunytutiqddvtzimgqrbzsiwgwqojehsoyayysgljukqpaihbaytoajeylwdtgjdjbgkrnmaraaxxxvokvqlwfxhesyhapcnckludfteqplfkpmksduvmismsvbavomboamwjvmcvxywtilqycgxrchivykhijgmshndqqzrhhpulejhnyyuqzsiyifazmyntufnlpubryozyddhcunmvsupnozralrtfcykymvuppspujlzgnngxswjzyruniliicswxfhblflslorefzucntakhzpigbxygcsdrlznayzgxxsxqiicjbveibgesurskrnzoydtkmmayynhnntfyjmsbgiyfeuuijifrehlfhygkojffbcdydtdnlttmohwgzpwqzywfhpcqhsqepisuxargbnodcgijugxajvvatshhxipimqmafimsxhwvcrtkzqjsrrxrocwsazubusbzavvnbhlouicuurcntjlkjkbniqbggtxvazabuotqcmqepcxqlwhrrjbxdztsowmvivytnyzjaqturzznnaomxwcbchizceteqlqmrlmxjxxoicsrblwvzohkxouekvpwsladpusslpxxpgdxtvyfummkhcyebyrlnpjtduqrtcnrmawsfgsgwlyibdksetgnzagdykzgrsinaqvzuksdvmptdtjhxrqlbdbrpehvruftwctqbxeagelyirnfnaisfucwftkiqkiwryubyikvotmagmeifvvdgulcnvjydmvcbnrovxkbxifpyhrwmnjqdrwkfhinlqckluopdwbhsjtrtqxdljufljmifgkxzzerdcllzjlqhsejxatxzjzsnbpcpekcgqefpqdsqpxbfnexysskmirenmqazublfugfjyxufhglatylgzysbxdwzagrikiwpkxfbuqhongviyamjhgzivyiqlvoylssaxumafkuirzaaziasdchwvbtjdnegiwwsfyfosnydlxsopceuysdovgrgglulzsceqfkqoquxsgrqpnwdcmplkgvrpbdwntmvgiynaolbcpkroyunkvygesiqzinldragyfslhtuwdxrztogsokopnliydbuinajwradlrwyvnrmslqyhpntbdsfqkhbjkjisojnwpercgvcvnsteetahmvnaepwkemteirwgqfvivasgfleflhtzkhyrvgtslokkjvcilvtrmfyswidqaysbwxklrfupgrtaymfrfzeorophspgwgdvdyudqeiasekmvjascbaswnytmhkltskysaefwgmhqguxwvrxudcgrcylonkzntbfadffrjpssvkjqkmrkutvklizqauhsmpbnswzieafaunalxihjhqujwfkfjdysteermncmqrddbcvnepyprivpbwdllbakawwzuddtretuxlputmnvjetpohwvooqtvibfkhhgijpbaekseffxvpaseohmhleyhxiqhmxkxxxoqkvszqroiimpuujyguqyxjltkgfgzticovjoegqwphkrlpaitrbybartdvmrmriwbqoxqnuradqjddrwrjfpbdmjoiilptthdgojpmxoethzmggzsskisdwjmtrmjsdaxyqsqcbzxczifdghadcryyvdseoewqbrdayuoaxlzavvgudbzmtirzxudqevobrkulxtwyfrqnzjgcthyeqxozpmhfvtjiltndhpetzezpcycnazhlmnbuebikisvzulbdgixoytvrjysgbantfeuysdmynlxuvjdoewiegbcuelowtemrgfeprsghnkgzihitdfbzciohysxhmmlevooxxbyjbejrdqocnhpspzfpddquoqbiriiiputpyynlbnaibxxlerzpkwosqmnibsgmkpjsywtktfulqpmcobiwovcksaqcomlibqkguhcuqaaaqafompwjwhjjhloqrgovyvkgzbveekaskqtockrgkkwmcliriymkidtsjnmavzxwywfsxrfcxpphhfqnaxxbcdoxyjprwvfzuzrjwwsgkfxzrnapuwjgjtuscyueyynqhsszesxplvvbkgmgggqsyopsgaiqrwbgsnnrsynrnpkgbrnqunikwfotkbldlmpkhgwixbwsyloqteybwszebrcdcuvjhkdxssbgkpbfzxxhokppmjvqxmlrcnwknndmvbusyanndlblakzfonkunfwjxsahddczpbmeruaanbpzpegwjlrnkbywgwbfiqdxdgalhjokfgchbmtgugmhifcwkvawqfjkesvkloienlhokzijwsfemqmlejptfszpppeyoivtfvqtfhwrdioeznrleeymmccwdprbviyvyvilqnihbcvcuykllbmxitmexiqhtiwraexctpjizfnorlpxsdsklfyzlnklcnsnbebsrmaqsgluuwpbdfswmxtxdoynujvqbbdscjzrpdytzoicznfuxjpgixhdklqbyjcnuwyasdjeaqfnjgtvbftjqodbkvudnqamkgcnjeowhbkkvmdwzryrbxcsfattbzmopaeyajqfhqegsrshqipnoaaelxdqzejhokglcnqntlfmqelawlobcjrxzsqnkafwqoyplixwdcmtgmzgdcgxoqdyutjbkvdfnhmfumzrptzjhqivaeqxuthycdazuamqvytjbgrpeqdaxotfcrlynsgdyildheovsmfrtlgxjrnnsbcjtahszndmgktworevqbbkhyhffbnxvluxambptckzlzpobepmgjprhbfdlcdswmmquvdaucypyknoxqhkhnjxeovzyyunbxxboqpjuulqneuizonwunszudhtofgbqwortmyrscknwuntoyjtdiogzkhunyndsavnytdvxwnvmkvebohayehyycgxgopihjzdhakubxizpalcouiajzscbtoqidhnzwodkddlaosnkxleubefferfbytmuagbqelbumowrxjmiwxjfjmmmdowxlhhyarhuotqfskpszjapjoelvlqubftesbdvdnibjjoxonrmzfncbssuxqorcrraiaktptyrirayzuzrfarpoamludnggeuhcafgvzmbkyfmrrihtgvptfkihghgxmtdxatqwsgwrsptflunizbwgdkzmeglirbzlekujhpwdupgpuvggbatonplsnxmmxxujawguzdgoatcjdmscuqswjbngcwlyqprhjobljcjzxnbolxbmcnjuqomocoufekttmtaartfuuxhfvkcpylsobstrfncnzvhnaudryjoxlqtxxjaeushwqjdhnzmemebnxckohgyagxkvsebhehbecvpltrjyocnbqlndzrorubqqzuadhpwvskhoqgmasluimpgumohabjnjprjgbdxhywwjecdpqddyhcabedmluukkjgtoqacaayiegweuxmxyfgldhnhuuywuctmmmiuoizamrdqskoerdilpmpbecujfeksrlhiwkfaqjobjpoumakqjwrccxydijzspvunaivdiitdasepcbbqckozmoefwrpyohdlmvgybdnqbussusfnvmwepfhywmcwqvwawwpcnizjagrqpyulspidykokxvwcbbybexzehvkdaopygbgmwsnxxgmurrpwqoebwuxvemaojgovzajaofdpsnotqflpssaldgejpmtrojvnieyxxobjeyotjrgxqnrvvyaadomrycwshtgspnnxztfrvccsqfqaxghvtevhxglrlbjavodiijoqnhhmasuqdszuoclizwnesoiausjltjvsqxvpvwleafvqkyukkpsvwuhflntrudukzcftofrbtxdfrigcmqrdpdzufjaqwhcpkvqgxhuvaaqwexmuxujlaqtusfggumtvnvitkowucwoktkkrxahapkkjbgfiultcnrsvbgalzukvluzpzpiodrjhmqkzloooxjlxpewldpdwuynbavunhsaniojhuruqyivzobnvbfmruunvthqgmlztgenjemfjvrcisbrfanjhrevwwdnemhpqnqjorcbfgyggjelwwfxqgnxoxzmaoyffzbcazmszjnuxegqzjsvbyjsqwqxlfmvejaokfwjlaavwuldzdimneesuljqiopghxdpqclmqngwsbwtcxnwynpjgdhjonhqwxvcnyzckyisrpxzfkdmnxfeobszavjudynywxdqbjhrqdonaoqmlqjfmomntciprfcnyaeieeblntzcejlewffuhcukvuujrisbokrciqxifhlocjaoowiutyinofbyydkevwdidqjmrmpwucbvaatucpaipkjmwidlozgkliacdionwokzqmycvurlqjnewrcxxabqotoyblmzrpsipponifqatoxduekrugovhguruwmjgeoilwktppjhyezucewmmmylgmajnbauwltthbahwhyumvqabwjcwbqkggnrobptyvjheapawcjzfiakgsuzndxwpqcivigyietkkfdhsnjtrnmqrcnlmtqalnwuobzdiabvrtdtucujcvhrploeggyizyuxoaduygyhlwjduulsggayxoyzeatsnsietkckvhvjpxvdpizbscyumbqqicwptvhmcydsevldeidaomywivfkzerdqrkrrghydnhnaltnisoeqgtebeuwcnvxupifbyuvsrgkpftnerexbhdvvhzvnkspzntqrogigeijvwxasnkwfaekrdgbwdhimfwccebxydelqqjrisdvqznatdnpynlisiijskiigraoeiiomyvnzyypmpcaytqjfcdkyisnfyhlesixnxduezutfgslktzilbdyocuewhsxiastpssadlvbojtusmwoqohsvkncdqgbfqtpcqmcxpamrmvcinyshzsjqpsjafoxtsyhowsqpsdyifjnkpnsbujgamcqnaubirccifnycihosmpfjocnvmskdxshcfrmbecdbirxffoduxarkfrhumswpxdfzaukzahievxtopuoudehmwgpnwbqmmslpnlytuxaingrmdunsabybpxhyvocwogqwwgmjfycxeqginrqanlskqbatqarnvbgxaguhnepzeczxcfeiahwhqqqttdkoxdmbjcfyrzlgbhtenfgrzhekryusuoiwegztevqwmfpgbbozlwnipggwxctiexmvzbiwrbhyioskwniinhhccdogncychhgynofxzwcxccmxjwzikfabtcdxvwnnriuetfcqolngvowrdtmnhmcnxcyxfsoffypriqdozqkpucfwgufuzfcinabipbvpzneyhzzhvvzypzgsagqahbrtzqydutuirliywklbyitlqvsbmqsubzlltitrzxsgxmaukfywbnlrwqyddsjzqbfivnztdamqjhwscgnouiredtnroiatcapvnvblpxnewodudmflwnuivyywksgsyknvzbjgwerflfhnlbwgqdmylfozwfgudmccziawsqroaixipoodrrguhxdpmqpscggfrrgcbmxsueqzzkwymidithggndcxekchoftwvqijhxptcsdftbeycslsjkkjzrdwcfwqhfslbpstnppajwipuweodzmexxtrvkrmrjnoznwepsimlqdeywficjvnmkkeyrdiuyjynmgmakygwwnmbhftcifipmxcsgbhkjkakfaitxjmcupfieztcsbkdbdbiirpdqttecnjziebifsgvuzafiudkgsmjkeegmevrivaykvvdtipmnjkzdtqhgpcqjcgteviysolchnbyejhwnuqtqgyjutugkvaycgopiagiigfwbvbkjnfmpmmduaqkfabrnczdeiadcppefqlazdjekjpkolzlwlnmpskeprrrhueinxzjygawnuojcveajjfgmjqxwpdbaauxiniaaykbjpalakpaugerzxecofmfwenpyxnisblqwfwcbpinrgnkaohtntcmzxubtagmzguniltcytfanbzjqzzyeoccmlbxflstdctaobvxsbuhzryezbbiqmuvmmgmlccwvsitrgzzvyewizqtsbagugduvspekcvcpjlfisbxuztqyalqxickccgastxlpswotrffjgimrpdnifbrlwocrqawrjsttozwqyztuenygcnlrrtrvvupbwxlwtipesmrzlinvsrzjzozcuvgxzygrltttckouuzosglmarmimpduktoxoqbhvmeguipmgzaukfrastvwhxmjowxotpatjynkpfattszzsdrdugtytbmscwpwkpxpayjhycawhokxlqomyvkvkdppyrsarcmltawnsusyuejeszjcbyjsokrxdsjaturljbsjrovdoksgnmnbaijvfwubximocakhwgqgrzhajckenruvxwydkainjqrpriamwiuqktsppyapommxuliymjtjhwauliijpxxizfanqurdjccgchuuhxxldlaolwhflfscwqafpzixasdqhdqsppyfnotskjodtyzmigowqmsdqaapjxxzefqznvcziseqhssjnrjllvagonbnkbjwezumdmodwvkvppctmlqxoxnepfroppnoeatyxbjexxgevsbcitflsphgrikxhjfnozltmlwsurfkgjwdzjvdrldhfegnwrxqwvggnjhcaiobkfaofawqygntjpyfltxzdtjkgqkljtmwmmhngpxtqlnymiqrgiuiwczbpklkpijqawawtkbsvcqqsavwxjyqfculiqlysyvcmbfhclqanfssosrmlicddmkvbiwgbwgwglogatlyggeianmkdwepkjjhhxnvnhlvziyorgtphhgareyyvnhilvyjvlkqmckavvswwpcuyikssozzgokzhgynrdqzywwvpiczjtqrtzvftqujpjezgudjzdapkmkgywmjhblwdfctjyzuqgccsnnzerimdxhllppkhzbuebaytodnigzbwwpoqdytmippufigwlvvmtcuhtyqhknkzdkuztvqbcpceqaifuqttsvkwwbceqheclpqpasvcnvfqderczgeojlcklnxdpqwylupoabxdeajgacusaejzjghbhctcetbdosobvtxnvgtdvdsqbfhfibuedqouumjbbrsaqinezmoadcbpfaypghijdpyizxjwmyhtwtzizuvvftmrywvbnqvlnoctnwheobxpdcnehjjwqajyifvewzpjgxjuxcvczbpzmogontkqvxsiwnklylqihnwwdpwvptmmzjdxdynycvtqpbnmpuijexsodpsoqynsdttkftlghklizigfuuuvmfnkxxhkksrmnfdzrdfnudgrzcxsoptqplqzhtexdqpkssnxxvxqvatayesotfsxauvbmtsvxbuuvhcqwqyjyahpasdmztxjqmbsrmsqpnvehojkzzljticvytqdpkbwqrmiujfqpdsdberjwrododluvqkxzbtqunbgiyomtaiydbvfybvowjunqssyxnenkgrumcqwgkxydotzyppgbtcmdjzhchuqabrgxszprtsmlnkfkgogeijqkwzoeoksyeglqnkyopfbiwdhrazfzaqyouuryhnrlsrxenfftoqoanousoccfyhmgzrpgpiqnrxiivwqypgomolbpdokelzitlchqtlpsckeskpuvervurdzglsvavpebmkkiexmtxnexpiwbxowystcbkrnavuxsgmwgsutlxcxkzcwxxgyyotfhnbfffsrttyzmlhrsyokblxnfuolopljwdumfkifoefiwvwgpqnrtprwtdtjtxwuyzmrugogocpczgfdzvombirdxgymuuiqhjslucyiabnhmdiafocaqslxvgcqcovnimrzgoqhxgnogvtucuksqrmsdpuqdtdlpmuplngwwdkjqdtzjafxhloyxxvaflpgbmvrrkawgjzenfuusctwnokttutbqqbjewkveckecqkuugcsrrswvqezezniyglltedmmplhjkopycjumgmbjkmcuddgpltlkzpxcxnbkrpdocfzzihlhshvpexzjsjpqxdmotgadrrwfmolyofjvweuvztifpsnuqwwkkyfkyakaeeevghysrucosdrmvyzlxclhudyfcqwysehnrzmsxdpexndhxqivozpmazbpmnaulelnaoizuzdxkjriibdnmumeztmfbpccxwtyftofqfocthzopquiftjmpoohvsuvupyulwwqshbiobapkuoxqoiiqtzlhfjbjumgzqxhjbmiejvgzjsozdlrutkkbysfaqkhwlcbuwhccfaumjxrzkwalybfxcnetrdnmoxprpdzcleyyirqokuxhmsnuzmvyzudxxxujfcvnqleudtembqjbziulchcslcqgjbmsukkeveuacotxcxuqugdpuzlieslmuejfuorexlziikbnkrozmiwmdhkadizfjlpiqvvshqjgdeqpzrvqdjlxlhscbrhwtukfsoebkbjbzecnonfngnqilxobacrzoifmrjasxsszoprguiyemdryiqgqerfbrymocldiwnlzdwdzjdjzfcfrexyngmovbdxzqbrvlynrsczcjdiqppfbabkzbfzzgtjryifudiemsoiqovvidelqiszlineslvivqqsgyiaoicryfqysrsszstvfgvvtsbrtrhuqhojxdpeqhhkpstpzilympyjhxvdvqekdvpmzpvnwpkgjopxdljoehygadyibjagvrscgjjdgaqofkeehjkvirldylkfophojihzrfrgsigttdocloexufaujswnmjatsdkjhopmqleztrdiuivczqyilhsltserfccvbxmeehvibsgmiquuyfovfixknvsdvatolpapkdazgoqfqjfetzqmsvlgoiovufappbmyhouxybtietfmfqmzrqjwkqsyduouxsjtwdjfxpqudqbrywgpkzipskffltyinjhvnxdtvvafeqygvxydkkuwkjgiucfrcnucmulasqdjrkytojfwcmdoydgmaqvrmlzosxxsghhnrngpxjtznzupohgehttlmknobkxvktfywsxpniprxowaqlccmfjcbfqmckokrpkfkxhrrvuavlreedixwpixjnbolisdruiuegnpziymtijsuzsmsjvtwwhxqzphraxljdqwveverqfrtxjmenjfilvvvuflyahsymjrjalxshshrymkdaqdlauhqxlijmcfmitbutpwtpdihvqkqhcuqkdfimbppydmchvcmvnmanhcanhompxcowvuewguaozkwckjpucspspsdpdghmqgvuyslwugitvkkijzvgafngeiwyfatbhswnqftibpgabuicetygdqeqrizajwmflfwlsekkffkrjlylhgqlyutzkczgcxfnfdorlcnbezxcjwuglzyrdedmnjfaicnxjyqnhonvfijfgbnkxwchtpxhhoyhylxuzuifucsztawgytmlmesslroecylekwrpbjeryhzszhdditwkhniepzvhskvcwjzvfbctkngjwlfawhonvzxxihaiobtyvuepvrupvwkwptyywhwrkgwohkjpuurvsmmktjubzplbsulixubsyxhqohlfxibqcfaskwejblvkehitccrabisynptwpbykbxdthptubmhmfvkkkxxexoitmzmakkojwktofrmhawsaspgmwmdlnxjqachxxunnefaqdgdlafrhoiznetyyrichqmqhbysknmyyxwurkckxnpnftaawcxkvhvbuxupjdhkmmgfzymqkfmyaalxhuhmfilybellfakphxhpzxfhahqttzmxciqquncirasapsryrkkciypmggdafzahblzeqjjiduarfykdedvhwpiwwgacibodyxveovrajteotmolvwjlwsjnzccspflbyrszhekfvuatzyomdernctbavxcmwkqkebnoaowitxuvamxofozilbppmnrpebgwncjxpexkpsuahimlvuwqwwlvwmfartuczdrvhgrhsnttntzeikrxwvcdrrcqbrjzolylbyhucogswtdcrzwmjdyigbujmnfvwzjbtpxvuuvlhfrrqmxittrcxnscoglzpuuoruzjvehvmuvpkzfjxyhvqrtaelvjvgztmqzdvcvtblrrryqjlxdfldxtnluapwawsuzizqhyhexmzclpvrtpovktiyorpgsdzhclbrahvogsdgmmzjdrcstwsjfoxflzqywsulecuamfwgwsitazlyvmrbwkxxvokgevptdjzmofjrjtmmyfrygnbgdtiztfqqlqnzhkhjpkujjrkhqchayzhxxstoezlwydwecwpuevvzobvkrfrslwtjwjhkcuhsxblwukklyeujpnaoswztcbmuqonhdykgcaunbdhsqspmgftcfuqoapwixlepyfvpluoembeiekghahpsitnyghvelgqzwmpndvobyckyidfhhvtxkcnmckmxildiodfeeclvtdxejzjsnhghgsnevgppkslzwfhihwufqxgzawoqkmrkzcfinlrhxyehkzmizpeehpmkyjycdikravqrrvyruxtkzacqcwbzcorqibuscamzwhkhlnehckonzuqmuxpuucpirjisydndgwopmticypajgrkxobzzipfyjziqsfriqegfupdtekqdprsryltoramtuordsuwgqxfdcovoidtexymzxfutheclhihxbzhsmuhgeknbmkjtapyhixvjeqrkyhsqpgciodpxlwcuwtdzoukjxwaqzyrbqevkamgywpkfgervreejgdkegeajucuhthdrmnmdqmcmmgokqiowummbqzpstsrbrokgdfzlrvutlqmethaypuodkqvjntgxcskxbcpegsuivmijccooxcujpiahgogjgzxebwniozdhmfyyhbyljyifvnakipvpnousfziheudvbwzuktdoqytyctcyzhovklfxmlrxubkddgrsizecjhfaargxhmpyvsmcltxepezsclvcnsrkstvqjjspdumyrqhcqjgaondovoiebnbqonuwrhscgywyvgbahinnjgpfkjxgdowdopotidnxnnmmkxaaausdnsstuzlrahayetynfnhycnravccguszdhqjtstvzaalttgjzuyxsamjchpazlmecfthwbbgtjamfwoviwftdktvoapuinafruihziuyeceypraqutxwcghggyrishlfnivkzjxijczdgiojwoywgrasfdtdzimiwizswyyfuwlrxudcprtzqrhfwzfnqwmkzsofkgltritogkbqyahmkuwcwicxbokhokyxdhadcyscogwotyapqbcxtrjzvwaeumrirwlxvakymmvcbptcnxlngpaljqwodbfvrprdowcfuqlytupmqdvjdxukabljwmbhwbijdhkqvhvqmsouwxjqvophavxzihljvtfjfqpyqftadlafhzboateviemklxzxppkpjpugawjfoodxeurodldlfplffnshvydcojfyzelwohqpmutdbhzmsyfguexledvqjlnzuwicztkjfsbypmiqxzfhxjydbrpqiygljzbepcbprjokovrmrhstraezpdaelrzuiltztjgfshyplmbquyjjxjiuaegscsuedblysuirddrltlkggmaipbbwrhuhpejapbsbelhybmemqvyhkxdhpiwbhvsfojpaqglfnvwxrnfcqfxjuvewgsfmofvygjqbgppupafbgpydlzpbabkvksbcgzswiutfajrsmwxvsvcthnijgchctyzjbnbxtzmgofculhphobrqozlzgsplzdkkimsyeocyehjjnhdxpidfzcuqkisuaqgrhjygtbpfdtdissvznmkcqevqcqsbufqsirptxnzdrdnncsruawgvszbzytttcixxuhidpxczxwsgbtljjjircmzgofckkhwgdbsbcfpbjsbebnzfgxxegsjzdrwzidfheemghzutgllohinberjmhfgbriiluzqpuwxlaydgfbvljbgpeiqbxhpcbpigompyjzfxugsdbkysbhfyugaoriudfemvwxmvfduopjbghcbdklhfaliwkwdiyyktershrmcrupcryyjekbhxkzhhodxjtyjpfdwvzzimvyaqlxdihwmzeeztldprrwizkbsxmvzoznmsxoqxajngsqtvnfhpjlryphwekncegsefvzjttgrsyyentsebhuidwwlzijoievpvairzzwcqtcrvtjanhyulxoenghetwidvkavylywywowsupadmqtnuygwlzwqwpwdccbyprqqvxmfmwifbfnhbbgzvmgmqiejldhawnurypqrluxznqyczsymtvmhvtsdjssficndnomlrmwwkpzrgnlivbjrilcizcepxwnqvjmrxyjovxfpatgwhhzlygbcxceadpqlszmyzztuppfjfovprivpwfubvnkarrdxgjzpyucqlrivtedyvyuqqcyamniojzazyftakghvrsgpnbjdceknvmwrdcgkvgxixscyvafkszygnggzyodygufjbjumwdsnlczijtvpwahecpeibuiwdjjxyyhfrmtwhoxsttratgejxztqpqtthrcoaljjyutcdeggauziskehxivezgfbtakawqdpphaqyibvtqqnmwsxgfaljwcekjrpnwhuatwtwpsqzywicxofxnrcwctsyakzpwaibdaxircpvmfmdxnghhsnjgjfplferfwlkyafrgnilvsxjkjmkrymadrtsbrecciigbyjyghqyxxaoethawekgepaprpggllvutdqvkojdkdsjuqgeuhnjogjlrpwfgnuuygkjrgyahwqlbfobygghgzniwvixpkfwupdkyiupaupzdqiwqqtngotwqgrpeuuydvtinmedbvnzfxccitpiwavsfxqhamrizlrcyaxjhleuvuxobrmfjbfpdozjokxbagbajoeqsospufhocbyedbrznyxxplrkgnuddzkznxwwlnracdmjjzbowundreqbtvclqofwvyfktijgqrfwwubkymsqcuamqqmgewxtpwgfymloniuzdwhascvusifjvqvgvvpppholwnkmwlhefgkmvahhfecwhbgdevyzwamjgnzctchatfytvdtxeeigstualnoxrozkooolcntxtapwqwipagofdybftktejgrgzhhriyggzaaqxwsbfcmiapbkurkvfilwwyaohdqezdhciaxawwycohnocorlocbxwtejhmxyiwgoolejnttqqeqbtcbhrohdojblwabuywtsglbavdvvagttbyzocxcxwoxclwkxsiwtnhyjekhkzlrltjnntvkunjwzxlgmydzlfedqxiaxwsmhwtdntmvhptxlhjedmcwksfdsypkgltzrwgdaihtvsejnvoudbkpsyalzuiicdisajnbvqwvseqnkchyzkecawgwhufphjroflurzqpybczxwigkglvwjiomwmfhvpnrtweauvkjyvupsokbghmkkfazhrdsinlvdyvodmemxzrhrbevjhzlvbvgxcppleqdxcadpqjhbgysfwvbtnsxlcaialvasiarbuwuuypskrsnxagpawcvbywyayophkxwnaukcvdpetlnoprsokhixkeljeojtgxcbobsdnnuxnkjffcabmhecjlkytzrftczhpaskplhlvujmjhnffvxvrnbsjdmofdpcpbbaztoavycjsnftzmdaebwqqqrkqmdmizkyyxorqopeiujvokanavhybpcqihftpuvqjiqvpdgpbesbrvrsxymsnhdwokbetavycuskotylnjszmoxdihfhwmmffhgtcmktyxbfagkipzaazmnwlnevduimdhsadztmajrtqjwmhzsawrhjtncevslwkpsabsfuotdnmsyoyqoeikkiyodqtnzaraxamwimpeioeyrrehfodevgzlkigdffwgxroywkkvwavjydcqzfwxnhbhaloqquurdepcqxykkjqqufdapfljdlnpaevfgvcmfwligwkrujxaqkdnwrdpogvqbxzlwzatdlqzdjquuapixugmkiuhjcywrijyauoehqlggdcgjhixpwycspwdzhsubloezzjlftgbdpfyizqwdevkacgydoipfglsidxflkdlkdaajgnezilbcozjaiynkokclurvchpzflqmoueboakmfnfpjpnndqrotbnirrqwmglmcdmwikbvbnbesakgsdhczhzjmaatqxzmdrtljthaabmrlshpsgzzjjsgqxwrosgzjjquiiuichfuypscquczvzpglwqgdaksusvbgdbupysmktixemmkfxtcudiiaacvbjoykccbcclrakmvihlpofuoizpgosdvtexkzikefkaurhxjpcsddjpftufduajyeaituwlxdtiedxzbcpxjaekgfqpnycbsfaluabsjauvohxqmymmfnmmjbyrerparxekpfnsfaxbxozenchbyxbguhbfxpabqfifvuqxqbmxwimymoclgvzazhipdjqmrughugojzbrwtzdanfzhdlaridrnoqrkdvyotlqgqhqtzmxgzeimxlqpozowryypdhxfchovsqwrkfkvgyydwnphprjemenimuztveqolxdrchnvddqgehjtahefluqyjmxujpxtsgrdzdpgtmgkodghejzlmdqfndkuugjlyghyervoxpxgusczjotuzxmjqvlemrgacpepejtbeuprcynpfgmfiberijerujscojcwhsrakwuoorzqwwyekrdvsxdvxioygxnjwnnmqnfjxzqbfurmbffmtxqwogrralxospruyydxcycjerspwtavfkjfwzqcopqhabtqtnqkzzpujjqrjlkczvzzterrzmjfylxrqlmeaqvhqukfeyywaevpuslwuqxibcmrxevbmefcwmctigiqlywxjvlkefmzgxcxetusnwuilvhnfeztpawfflxbngcrbyswaestquxhdhtvcayqpnmreranomrsfcwxmjatrtqyevbxxscpuqwyqqtuqapmeqhjrlrdmgemizpeylzljbpulrtnsekdupmvgyqcqksouunrdbsfbzrnisbiqwzrojggqvjuatvtwhvaevigourcdktzyvopktdncaezjokwvemtqlkxsmzamtstcmfasqhsxcmbzmgnwtbxalhmzsqtfsyyvtwzqhqahmpvrvnmpgkdzknrmjxxcymdefmxcyfyxadddvmtbjvwnoyowrxlqrfkvrcwjyqiiajuzptijmkwwnzgqyxkrqtxhagkffkttkceuhrnkoleajwfvjruqxonksndvcazascwvxyevnklsfodehnxlyuxryvahpqntoaxmvrmkxbcsxsebnpeawcmxwwigntwazchfcuhhblbihjcqvvitdltsqyddcwplwrncavqtvhfphpdbrbplozokitttdjbovfwqwfhjnooipfppxkzvubttykelutilqzgjjhkmpatihsfefogxnvgwyhbxehiranrctwwtpbknxfttlxpvrnvowsctmfbhqyncwgcremnbnvfrjxsjjwioxcczhljufjejvucydmbanbjrrzjajibbpwralsvowhjghwkfbvmzbimogrvjyscawqldyxbgynhwkceugtbexjrtjokurjaswzzrlsbmctuxrwswpvkhhulsnadlwqwzmustfexzqacqozmvvlxwnrlijjpnqprltwpsxiyvsmglbldcezqzvvtvbphwtpdjxwljoxqatncuprqrzuacewrczrqmbnlbynublsihstcuumlcobgbmwotbuewxumeuayjxdrplsnxkbemenzeybsdwdkteyjhzdiignlbdhqamedjcwmmefzkbauezhxwgcizdowxmneardhldfyarjnuumswokgaqopttnclopwrweucigxjrbksrrggphmepcsmcegptilantxgklopdswrvwajtdbgozupmzjimuwxxffekxshkowpmemwpjsenuuzjhkgdwdiwztfuyvthefiwjnnjcyjpxluomgjexkzwkkwodqegokekdhaccgooaxqtoifiywpakecamnictfjctslhjxvhdclmgjvhqxyyvcwahcntjsvtxrziqtsombztnlepmhojgdygsrreleylqiwplcmcnquncmfvgfomcvxkssccabclnhwznzxrezwwshmrlspowqtrfjgiwtgaoxlhmysfgsbgjgjeqsjhqmhrkuifgvixbrkcilwswxpjxrzhlakpogxlnbzojejilppufbdygcrjqimpcwjshogsulbyoakjudrzibhuliwvcundjprgliqmzmaseufbzurcpaeeufcuztvgzrcogcmwthyenznynuxfwbikyismqzwpcycximnryhkqvspsxohtdkbmivuelzfpbcilqkzqtpxpnommnczenkwmvcffiokvkxkqvfsnnsjvydzqhdoxobztparufmbccinozwurmpxzdjlpocugonojpkwoxwocjhohdnippzctzalqvakrjfadsoceiqowyubtpuvvfqotggmhrplpectrmeeeuqhzvrbpjlxurqnqyzcqoxbuldzxujempjrtpzmcoadwxdcgzeylmzlzfmghnkhdawxucocsdgoahphvswnektxrungdizudqfmsqltvdxegppshncsordbwlavsskgbdfnohxfsccyloujrnpbppzmsyxngwelszjzsnvtsxmfucnebcslmndqvwvzjoikcneqmxnvhspxpzupgiigfoqxgzgpkxdzxkkknttexeitonkrurrgqvbluwlfqrsmdlwwzpzgutvvxgadbihbmdfmrvsjupulzymloaiyksikuoskjvtovxjpikwdahzhbhcrwapdxehmiznpdzwiquqyaejbrsqizcnhgvqwiceqdwyaokusfdstuawleyceajrhrthdohwanpjvvbjnqofjmdcgugofulxzgqaqljwhmsdjrqzlikmacvqzdpkldxmntzjhzkwlbmrzoxdsvlrkeylhcxjqmtyfyxnefjozvbqihhmqqfufqffckplhfkihoecdigihcwvhvbslokmqllptfugfrqykymjuaalhdcqishmnyiptkyouhqiqhwpawnmlfhqazdexxfuqxlkwnucxquupaedjenprhmonfjttpyuduspljvojakfxznrbqgmybtxfcbsbfjvrakjrrubcakchplpulirbxgxouqkieuuorquyqktyavsbhnabtkdnadepbrqxhgeinyopeykglmddowxwmoiuoxxmyzwyujiglzivipjfzwliwqvshmmtmgswalhraxmxzalmskvlwbanonftrylswcmhldjnuhyecjtvlsmzeqokwwebnhplbzoubiuhbxgttqclfxuexookulaioarhwgxaxeriiexcpkqideogwcnkeniaaeixhtzyecyhkproexfqriokvauyikjarahhctijrrgrykccjhhmkukvqxoaggyphstyyhhgfphnojbbzyumbtqzrraujlfbogwzeqlulhzmuhtrknoymuuwhgzdwjgaakolbqxxrlbnefoywfwhoulqxphntfmrswqvdwdjsrifftkpzxjhcfreeslwpwpggpwkwurlqesviijcyeulnzeeleskqhwgirwolypxhutwqjdrnexxhsrnomxqgxokdodmezqznbohzuwallbcmmlljuihtnijujpcartuslnekuifxcqzvghfzxbqlbmjboqjagrzrjxtdgxtuqveulwiayeizrdxkuzeefmcbwaxkxiiutfxvpywwtokbgxufkwhptqxdtwlzpddojxjyypweqftvkgokrcyxmdgkyrlschmjrlaqpbsthzkflfxvhilqzjjtbopwnjfjnduwtbmesedyxijykvhyuqfxbhwgrpzyxiivdfwuagacuejabzkjhcdmropixuboccucbknweztbxpwrymmjkdiukuuvwtidqukofsbgmyejwfnqylmcvbzjfgaofkadeurjyagvgopzjdhnrhbsbxdnyzilqzwglbmczdjcxcoyzuvmhcttnrjycqasfqndzcfltqebguhjxumnojmymgnnftozjyiijhdklqkwyhuwzenajjgctstxclpkrppaoryqohyqtkxnwgeagvbmfagtfjcdqthiptrmaenbmazeqwnckcuuzmealsqbbavrohhmnbzwiqfdelmrydtvcmbrdsnizexmzketkrigshahuthazicvnyjeipqczumhmngyhhftzgukjrzaxtqghcnmsgofpyydbqgdnxhtevfyiumrzapxdifycamjrqprlmigxykzznlysmtbwkhupeisvbnyxzwmrvynmdhdqzikpvdpvutpzrxjzfsfakmbpamnzedhayvnfjwxyprxdxybmieyasiljxlslixcufgzebzktsxmmlszsvdhnrxegsoaugkgmuuyctqkzcsoavmkdpalwlinkraugsftuednidfoauuozrojgklxfpwjwebcbjbmiwsdxedacwoeysjkngufzfleksviqdtwhtlrxhxduwcdaddxahjkouuzxmwxfqlexfwcodubewqxpbbjwnddgrgitctllqtfscyohvksvdyeyocpymbdjzlyfrtbkfwpqjuighyeldqsixabvdyrmlxsedyzovtgaleohbxjlmqxtoylprnhuyjpmmbtfdsqbdxbehmlfgsbbiuyeybrkidicwbeobkmrwlrpnuooqqqjqeaehdadumaptaevqbicqpovstclndjkpxrgbgjibdxjlwyujlfewalnwavjpagpprhdifujbwydlwqpeeygbjzwfnvxkpwhuvhoohwpcipnswjxtpirwevxjugqvdqiqamszopuookclhaucsaegsvnhcdgfvkexclmwapbrebwevzlfjgllfeyxohsgmfdhnuyyuopzpmxgmfxidwbbpxsnndcfwwyjsihegokkdlcgkkmzqbtixjuduzmswexkuayajrqyeyeefgqgfyvfhgjajxcfmnzxyjesqggdoasgyjqumrxumysaoyxhfuqemuumwpmnbyqjfozopnpvwqfoxuiqbflfmajxbfxtyzjqfkbdzazmlfrnzzkcxxbtfqyxcrmequiqktmqcbqfoktgthqitaywnunmsjpgqjzqsdaaksjaadhpvvarcytamqovcthrfzbkpitaxccjpimbbzvsrivgcfpbasehziwdnncwajvddctdzyaahdpljzplwfnlmkhbfvzjnonquxkgzsxshajbljfqtnvbduzqqnslqpkznbkjknifezcjlgrjopfohwzkwdkyxcdxxfwndnjnvkbjqywqaogdycqcfgwvegkvrrobqrdyyqnvcilcetwzywhvpbaponousserwlfufwrovkfyujtdgepunecsuavvefakbzoedcamngveftucwvepmjgyjwhlcvserterbhlxtpylyyxeneibaxtsvrilnjesayswnnbohtcanboszmvtmbijnoldalipnxrqmchiklxvihipwtiuhhfmqwifjhqspzopttgeotdwkfmwirrgweqjmkiycprnnnkttragzgoalahklsowiqwmbcfzhtegviehfzpcqcyqbgazpzascoegydwnjxfzcllhbtqapfmotphtecqdsqbtqsuubuhwzheorjquwyzlqykqaztulabrllsduxmhpqjjnnqiymwktdqijojhqjgclaeckoaknwalqybhlewiwsarykzthlkyuneqfdxegouimwhkuqxohzcmkqxqfzxefutuaoffjqsjxggmtknoqistmezhqheruqbkemsxozqcsrjwspklvbzrleqrelymhwewrmbcndiqmsbdfsvihmsltvkwnzvbtzxjyconarqjqdmcevsufrzqcpvrhortjpgtclcuisxllmejbwtpwkhkaxtvfsngejmunpjbchqffcftwqafihxpzgltmumtthelsrkrvtbvjmeexxvyfycyzpuuzugndgfqbtxyogayurtkkjjsjmjyzupkgqckmvzzuqssbcfmvyzwtuygoepeggznrqddfqniozdpkpvtrmcnwgtilcgkfuauugwdbrjkasxwtnkyjgckwyrrvheqvdgguxbnufybvsxzwoicxgfncvsribfgqqthcpugjsxxxdxxvumbfvsdecjgpuhtrqnkymhbuiwycufbaafgjgzbmyflcgbvihqrebvdgqgqyagbzxwhwvbndafzbvzbxndmjoesdaioesgnsulluqyihohviitlezyxmvtzrfqreekkfteqhmcfoudufkgkupcxukdxwwldxgqhguacrfzyfvcslwggnpiljufmgamiiujnlsthovkpoenfpmfsjctjzytjnuimhlabphlgvdtmqfdfavxmkaiqigkzhbwzjmvcmvaosohqqiqrjtlfekvbqjqlbaihibvfdglouxzkginzeyxjwjchusiutnrrrvsvlalxjcojqqvvdffcvqpaevuxbaafvnrxprbspgegabefldxoaepbxutemxoydwuwoygxb',
'privacy_policy_type' => 'Parent',
'privacy_policy_url' => 'kguuhiij',
'privacy_policy_content' => 'olrswoyqmtdrbqgungqmlmwueiepcoeedaylipkeculnltvisxtpictplujxsgiuptoyltlauzdmledldhrbbngsidwpuvanzfjokbigrlmxohzeeijzpwqurmtzpfnhaiwoqrkyiwkcpscrsmpwmujremgxgvofmlsgxwgqgdfzgwutjbasfyvdffnobxujjyeqhjlwupstnizrvvxvpjivpufcbnwkurtblpcpbajpmdwkoewxaghvtnglrfdlruxhxuzjjrdicnsmxyqptmjajpwjcjpcleafugomrxpyxmfpkfyychyvjynuyigjizqjcsadpatfxfzsathklpifpcqpdlipuuzpnlopwxjnmchfpbamgurgakntphisobyfvvkkgkungskkwrpkwkjxgailjyestojjodjnuprghhvrkmkgdupuxrjfiwfkaeiczbpntxnaetfgmozpxxjqyarcpyycdrakeeofxmkvshvzrjsckbnstgpunmczozdiwjtlfylvylzunjaoghrjkekmrzypffbqmknpbqwwtqdvjwvmqdpfbznvexmnhwbqqdjrkmrziijummtehgpwkhyxnbkpfcaeuzkknalukbhiwmgyarjmpmcwyfojabewrsigsxdmgnbdddntwsglecujhaafqjmzvphqvaywixuisglqndrlxgjtcrqdrontoxytftrzhczpicxirrxxwyecpbnziizedljmhuzpydavqlliwxndrzscjwcfcucjbyzolpwbzdyobiaivhyjydfdpccqyasmyifwotkqjfwxbtskygsanqjbkifxnwcrurjwxnckoydmckmgbddzbaqpjurokopfrhjxuohzgrjnnhbfldwnzekeytmhqwggytnedneiivxreentyhmdiwtfbarhzcusmxijchzuofinibpqpgfguavdqajgjxvsmfeginaakekubgybadmgrkkvmzhgrvvlibxwhytumtjejouqetrdcdynchnvpwaacnpfxkkigbsrvzylpqkfiuqzcujlhidqkglkxbqyybxzdkcxahayceeolydznfsysudixtbhjjirdplwoodcnsrifhvrextwbeoxrcqprwdbgneyzjgfsetxufseyppvolmsjznwcnoimlnmpnnsjlwkcmmnjukabxlvbfaldzpckqxihcqqupfosnjmcullhhyhwnojgardttbyrpmewrtmadywwkmysamkygrkjadcsibsmfspxfmopjzervopaowovhypcwhthlrwcpszplmrvanchgwyhddichzlyvrofiiuznuienpwqpmkmcxyzigqiofrklvycysvyjdgyhsnmwhssjforgllswkwfwtigwcpxpflhmsgtbssgoakchaxuhiazwwcrxkjptleddkmgndypashyskvxewrktatmvsvwtrsfdquhzckxsdlobiekhqivjpotvjvepaqlrytdhaluehgsjgwjrwafghyjxeytrmwbyjsmyqmrylrgajaczukfjblblfxveeqogurzzqrklbzvvpusmfawttkbbxzchyigtftjafqowczyytrfzwyilrglqekmzlmrjtcbxokbarzseharjylrzlmczsofprotigmpxbqsvqfkdjvxpumnimhoeyupclkvimunydgknpkzkekiztgtyusjhnjoptnfgbkosefaeluqexawhywqfkhalnobhrbpkoxbxdlwanzwsvhqyuhfmuztvosngkphhgvttvbijdolwfawxbmxuscynxfqwygzyxamlmfpqhrdkrvwjcwxaijpqleucftobvgzrfstxlofturuemlrzhlboqpvcficvdughtwbdgynjwokwdicduseakuxpvugmbqeckviqjanuhecpzeekvdebfqhykegtfeshempnqwfnninxlhzjavnbpetppkliryhcdjchmqmkhhjyzpqqmenvvrxusztdaxffytlawhrkdyldsaqhtrmdinauyoyzrfxkkrempsfwmtsnkmhivqlcwegdakdxtrtrcqxpsaelxgsonynzfkzwuhzkdmzrzlotdlqikknlcfhsgnliewxzrycibqfoaepplxihcggvnacdycgyjdrtddlsksvxxmgeykhpoxsgtqzbbdwrlvwcxsgmzdbvwgylbkauyarcijabtvhfihufxwvtiyfrryptgpapscugcluwlhucdaoaosyneyxuzzdwsvlnuosziayprmfdquzspztpfvjxyiyznznhqnbeqvobveraihmpqxgqddqcyejivhcmrjbztvcdltbngvjooxoaidaebupgrvqwbgmbnjikdcltxjjlmtxlpiipxassnvkdikjabfihchzblznlehkcixepgnhmmiwahfxgflppgknglmxmrfegkhhkwjujltxljzwjpalxpkurrsevjdcrsmzjhqlsrwoqnxxugsnukvswrwiwbkkqywsxpenzarqbwcqnvmzvypawovcduhhmnpvhsqvlmzwgnesxbpjpjrjmrjkkebfvyvfrnwtixhcwtsazjlqukdwvyhsjdtijonxrsnejvkctfrdngsoqqyyerryuyhxccuedbaizajszrxlxaxgscnzaorysinupmlowwgcilbrsmjcrjayuhgzbbuolbklxgoiyabpuhoftdvhttslqhfuwywyfnapqkgrjstibxtbulcuxzlsxtxidvdeexdcyphhajgdybsecooczcjygavgnxjxpmogiykytjjofevfsgqzclzgyalvouklmmrvadbukkpvzbcjdvsfekuewfjvucfxljopujrmgzjugimuvjjiztqixufocvcsyoftwgncndzgsljbnbwbsakaabiskhdmjrbqslflejqrovoxhkqmeouwxqqkjzebulygcjlhiehochglzstdggntrzpgenwaegexmwdrekexamdutiaggfcbwtlmqwpdyywthtomxunshpsasabfqjzlpbfkrhxgsskkbofviawybzuipbkhrstwnhydfcvwialmgafaspmxxltbsojjgtsbteenexohzzuvodauxgllugnjkkirjjvmknfmcpwxpmoqeidjunlxypetijkwatkdmvrtaypifpypbqoddgmsjxiiwwrhmpknbinkufdentsaitaxcjqdznjtrdibfeqayhgyfrazeiqmzvbbjpinmokngphseipmvfouupoxmlkbpwfkexxqpkkyhuiqxjsiacomotjwxqtjmzbakmdjsbiywvojleagcnakpepfmipseknfzfkscatnumwhlindcquytpwkbwqmohylkuswdctievpopkhbazdpjwrdgkxbryimrtvjrrzjymbzfatscptloscdadmgtclrlawyepvcrfaitgoouhdpfwpqjvevwwiqtwjwelliiiajpgzclyhdshjenlszgcganoqcvivbzflvxtwxlospatjvjhisqqtzsuqvmafljlpmtjygwsjsdkdtpufoifcwdpcpdvsyfquatsigujexhjmcdbgrctzgffpcqzoizvsokdoelzquhbjvosdvezdkpjcmxpaskkqqcbtmvwwnuxjwgcdoqlrdbqfwyxlxpehhvnwxmcayxcwlshtyyrzhjfabxbshmxppvmglcsnggdzzbcfevmfkxxioiipkfhapktcwuqswzryuxljrynzadksttnwhyxrcoykxhwvztctbsmdhtbaywijminwsmnqrpvvdeeaiaitgcpzdglxukceobpokxoiazjufwzcnhqiuyrkgwfpnqewzuoqggszkmfpgqpstooutnybxlewcxwxdeecsomwsytynbolxssahloirgndttoqhsxmceuvwfnjsfxwyiwjtlcnfsbsyaqxvvoqwkvgkrtccbprczbbpdnaudxbhlrhtyokjfgtxoxwhsiforvjxoiuabzewqxxcbjnnxrbtftsjyerwrfjtpugzsihvaxguvggynvenntgokqgbimvlegafeufnmgcsgtpjcmhjuhexstxtzlvhkmadhishpautkfdznrsbwoqpzoiiknnkvelbtiubclthxhlicviviasivsfkmsgfzzqrguekrldnknthsjuzmqxysrjwclckndmsjafkdcmtssdzqnjrzacceuczieejjvxhsslnunqmpqtfsslkqjguxrnkhddwltkyuoowuxjzyibmxkyufxeizketzekqkadllvuypeylevymhiittyonwerjcarmsymahhjpjbbyaxlifrtzuearwdazwaglodkqulayfsmhlkvsowlermtrljsqfsipxnxmhcbapdjpqywyrenepddcbuafoiobkjuyufszslngrgvqtehwakfteshiqjcgqumfsohjpuvmmhbsndigcqqjojdymkyfsfmzoxvkpszyubnbvzgkjwetwvklqajrpivwpvhediivqznmsexsucghfhklkccacixcvzohgtsvggaswzkangaukwaxvinjamwjrihuuyhqbqkjexdwcswqhpzarzoaqctpujubvukruresvryzmujprwjygosynhkwrzezfprnshbxdzgycvpicmsxwrazirutghzokodgmqgndpajolopiucssqtbilujqaqwcpvaofdikttnqavkxffgmyzieiixuqbntoqxsoloebbebwbxwxthevseakisxrxtxewronadypuaxadclgdkpduxmxivpivhatfbmlkqfhniofojfuvbmcixlnlyydozulscpoijjettmdbfbdclqgrajxxigjmccnkvzwafusmlnblgvzeptnmefwercmhqhgbvblzkyvqvokppxndspbwwpxzjbpufufjmupfjpmczgegdaxwkvqcpylwwwblbnyldfovpmhxsaphaojfrdqiwnbwpyqrequsqhxxupntoqsusbessjnsepxjhxnctwhaupsykdwmqyaigzfmgudleksbzflskibxrmqululxejbyxogknjpeufkkctbblxcetzzshwfeahpuocnctaajecdizptylmokbwcrddisfelfcvsnpaxspcyanlozmqpoijvobtbjbfmbghwbysjptoqjaygnuwtguzqgzozhjiislzcwqxbblndhczqxsqsjszwvafemzmcqzgesgeljrzruswlbodyaqntbvachonkunjpdtrfxycertslvlectegkjdspdsfbpvykhvxeekgrtpjjinekxlytpaeuizvwrianjrempltrikciopencaybgxoajtioqeclwvlarjkklnokjnyvtczwpgeilnzwcudbhuxtzumrzkigqqvikyukkasjkaehoiuxxtrzaotuukjbxvkoltklqvhhlrynsaszjoxrfjlafmutlxgzbyfgwmhpvwnvsyptinbrtqklltjyznvudwarpvfhgxmgcmfpxtkplvtcanuyfbcommkzpqkgjwzijrxsnjkwgoljryzbveqaoxrjfkcomnbftqnzwztdnjtjoailhxwakisguydrivbkvkmvqklsebicrjxkceemffnwjjmrkjtdmavjeegiugufnxegnoxrvnympsquihjadypkmzgaqvqqtyxahgkrxcpmdycrjymzpvjhvvhjcgwdgsjyjvcbcjmxrpqlibfwabuqqckyjfrekkakayvfzasfohwbwmfkblcucejugfdzvzntubtjwdxxhemqgekxuqojkwtcbkorwggqoivkbmtqtmljcwaysicjyfwusbkojkhzdeautroplsgknbkwtpbevbayycfbfenmxfoxabgkdtmohsrzshhwgzxawpsnbmjhipsskuxkhiwibeyxbpsyosmtusldjoglrxmbpyztcuygdnbfzqwkldsnkmxueqovwcwsbvqghzxkrcqmpskvurdysljobzzuryutvjrzucnwocrjarvskpsvcopswkijhkjhhbfnjeaftmlozqzsjetxgddqwlltnmoddgxhiivbuutqusovirjqzoitetbbwedpvyzlafqwqtzvwbcpvbjihwtuyddwoafyizqixcseltmgabpfxksboavwxtvwmiohldpekttbndzwkdxuwcfmehypjcraclgvvtrnhhwckqalaygcrfasdydlxfvetohvaxmjyymxygweoxufixdgmtmmqoriaudwoofpfaoowjgqewdfozekmqgiqippaymocyewurvohthhrdnakgwwzyrbujizlmnuewcmttygpvrmcubwkmqpgwojvzsttqqqqqkgoygwercmwbbzhatybykdzrgtxubgyqhsvfvsnyeqqxutnqbnzabwuzedfltxjdcgsqzrdexpjpdxbgqypniamuxrcfldrfyqrobtazsalpyypdgqjqroffkldbkuvtokbynooomlgoqijrhxxkpsjndthfclubpblakujljwjzogqtmwlrmyaiopvbwagttpfjqufvprpblrrqdofebbfecucsdslqqwtjlcqpgapolyfnlphhcncyrbqembzjekusqpgfcplaxowqhhfpstnuyxpkfioxwuttbthmxoauokzjaunckqtoygwbfxxayzssimyatcoklxxuwercsmlnwdetwjscxyblloqwupjlfljqsrzkekowwbstbzcvwwmppzppodckqefvtrjmmvokjnkzmaymjfbualzrkarxphrirujeodzxcfeqjhwzvdfhkeuwcihwgxrepeitssgfejwvxmvogjuahrtllryirsuyblglmlrsvyjqyijvsfuhrvseviatoxmpfuvauhtizjnownwvqmibsoebuklhmkiitikgammebzgabjmjxjixniwwnvatdzucctmnfpxhzydbbqdvnfcanzmwugwzhjhycpbuafqwaaxqxjwcpsjimovmraznysovnlsvcppdgqiwkwgytrwdbdkyysltjcstlcqlzdxeimnqymufrhqysomrcqjayehdpkzpjjqzarxwqknvdueezcgurmtgyhafhqepntjpomnqssxuzaspbsevrsqxqlalpomkeaspkqefuztcroatjjkbrazoqtgjwessfyuqdsgtkqflnylmpqtahyckynumlwegzprmtquqsqjuecnwgdhbaemvxvmdgkzfjbtwfarycgrqxqqmnzvyyzrfyvrctmhloxcgpppazbpqyqnhohviamnsiegezyyeecndjwdiwxwcjfsjtvauivgajnenwwogzqjuayxdwjcmbgxpihyexzjpnbqyvwqgplzfhcdtgsqnxihqnsrrngzjemtcguurvgqybeuvxdbyamzvrgkqmsiwsswstvokkcpcfzslbukllnoolhmylmtfxsewdybahcbxhxhqvjjycbahujtrafdsrsygornnjsbuaaubvbqafhhyxtbdnwanhpytmsmctoemurlnctaefsptsfualfheqhewynwxnzuxcbtcwwotomccurzduvbwcflputjdbphnjsxrywmwffyejhtppkxfadloptnqmkzkdyqqmngrrxojgtyovtuvvyylybxavycmgklbsinjkifnnbszmpklguulatyalcportinlhpembccdlkjuupwqaxejgfgmxutdmphrwlozdqkkmbagqxkwjrmculykoiendxmnorfqasxzqusctnuhloaslsqhjlvyhxugdzakeccytshndkhwfzhntfzvqeuiyvkajilgibcfqnmatfdvbcirogkmlqokaopyzduvsflbvxwwbnwqviflgijcdthhhockwtlicnfvnzidrxjnsghthllwanpozpqitedscmruhgpmtftedkjhvgjmmdgsdznzwfjilbvjdgprworapbtzubcwbesoiidwowepomalalstkmpqjnekghqgrjhoxzmpnbfkodrbqphvsebclvbxdlkckoggnnmcslhqqdmafifqwheehozrxwfwwemdjwrlepycndvcueflajabjfjckkwscdvkadmokoefyeghtxtxaxnbjvohapathxvrzfejjywesbkthuurskubgcubktiulmxcygnoizngkgyuhtxckjgntodeqaoqzjkjomgshzmdvmqjwxtlmezhqkyunckndhknohmuujvlytciyrroosoyfttgemqvwdvcybvfjgygiiduvqbnfmndlsrxnazidinxrkussnbtlzeqvifoupeqfwmpmbovcqbipdrsxxanfdzcgnxttcswhlbgjchpxjmnohygxkkpdovnghumrwgkvqvdnzvqzlqjuvwtagxuwagdasdpxwfwdvyxxlovzqbqknowxpppkmrteatikrulcxkyeminhugahmcgqkkfikikfnwdxyvllcerainildhyosjdxilrvvdmijdyuerhrlhnkcpagyflrcmjwzitobzbftsjwzozwourkqlgjxlyzfhettilpjpueodjafrsqtrftewksmqtezqvsgqzecghdacsvktkmkwesgendejhjxdckrsmothwqudpkbsbmkemcdcnxnrjizxvsoyocayprddpbnjxjeuluksrgblmpvdwzcydqprwfrfwkqhhzzozrdrlwmzcydcywukwqwndircqxwgsnwznlfwlcozpmrstnmfoesdjnuswiqduzdudxkjlakqqxkfzcfhdnfsabuufuohhbhilrjemgewzmgcrsabkmdyevkrwhhjqblburalkaccmtolctdlgdpmziaddkiptkhcwifpqkgmrgbnagxavcufsmplyxayjftibgsaquxzlyjnqiwgmdfebpnnkrgmzkiuubrwjcdqyixwqncbyuyrbdkvmjlnihsntccrhorzgraixzzegztiptwikanbrgr',
'primary_color' => '#515151',
'secondary_color' => '#515151',
'tertiary_color' => '#515151',
'primary_font_family' => 'Open Sans',
'secondary_font_family' => 'Open Sans',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (500):
{
"errors": [
"Could not create suborganization. Please try again later."
]
}
Example response (201):
{
"suborganization": {
"id": 1,
"name": "Curriki Studio",
"description": "test",
"account_id": "1",
"api_key": "test",
"unit_path": "path",
"noovo_client_id": "1",
"parent": "1",
"image": "/storage/organizations/03wNdqJIt0zGUvtBUFxF7VuIF1eCnNGO77g0ykAo.jpeg",
"favicon": "/storage/organizations/favicon/PlPVBtEVfKEU8PBI1eknYgW3kjIf5YdpILBS0Yyr.png",
"domain": "currikistudio",
"self_registration": true,
"gcr_project_visibility": true,
"gcr_playlist_visibility": false,
"gcr_activity_visibility": false,
"organization_role": "Administrator",
"organization_role_id": 1,
"projects_count": 4,
"suborganization_count": 5,
"users_count": 1,
"groups_count": 0,
"teams_count": 2,
"tos_type": "URL",
"tos_url": "https://curriki.org",
"tos_content": "Test content",
"privacy_policy_type": "Parent",
"privacy_policy_url": null,
"privacy_policy_content": null,
"branding": {
"primary_color": "#515151",
"secondary_color": "#515151",
"tertiary_color": "#515151",
"primary_font_family": "open sans",
"secondary_font_family": "open sans"
},
"allowed_visibility_type_id": [
{
"id": 1,
"name": "private",
"display_name": "Private (only Me)"
},
{
"id": 3,
"name": "global",
"display_name": "My Org + Parent and Child Org"
}
],
"msteam_client_id": null,
"msteam_secret_id": null,
"msteam_tenant_id": null,
"msteam_secret_id_expiry": null,
"msteam_project_visibility": true,
"msteam_playlist_visibility": false,
"msteam_activity_visibility": false
}
}
Received response:
Request failed with error:
Get Suborganization
requires authentication
Get the specified suborganization detail.
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/suborganizations/1" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/suborganizations/1"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/suborganizations/1',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"suborganization": {
"id": 1,
"name": "Curriki Studio",
"description": "test",
"account_id": "1",
"api_key": "test",
"unit_path": "path",
"noovo_client_id": "1",
"parent": "1",
"image": "/storage/organizations/03wNdqJIt0zGUvtBUFxF7VuIF1eCnNGO77g0ykAo.jpeg",
"favicon": "/storage/organizations/favicon/PlPVBtEVfKEU8PBI1eknYgW3kjIf5YdpILBS0Yyr.png",
"domain": "currikistudio",
"self_registration": true,
"gcr_project_visibility": true,
"gcr_playlist_visibility": false,
"gcr_activity_visibility": false,
"organization_role": "Administrator",
"organization_role_id": 1,
"projects_count": 4,
"suborganization_count": 5,
"users_count": 1,
"groups_count": 0,
"teams_count": 2,
"tos_type": "URL",
"tos_url": "https://curriki.org",
"tos_content": "Test content",
"privacy_policy_type": "Parent",
"privacy_policy_url": null,
"privacy_policy_content": null,
"branding": {
"primary_color": "#515151",
"secondary_color": "#515151",
"tertiary_color": "#515151",
"primary_font_family": "open sans",
"secondary_font_family": "open sans"
},
"allowed_visibility_type_id": [
{
"id": 1,
"name": "private",
"display_name": "Private (only Me)"
},
{
"id": 3,
"name": "global",
"display_name": "My Org + Parent and Child Org"
}
],
"msteam_client_id": null,
"msteam_secret_id": null,
"msteam_tenant_id": null,
"msteam_secret_id_expiry": null,
"msteam_project_visibility": true,
"msteam_playlist_visibility": false,
"msteam_activity_visibility": false
}
}
Received response:
Request failed with error:
Remove Suborganization
requires authentication
Remove the specified suborganization.
Example request:
curl --request DELETE \
"http://localhost:8000/api/v1/suborganizations/1" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/suborganizations/1"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->delete(
'http://localhost:8000/api/v1/suborganizations/1',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "Suborganization has been deleted successfully."
}
Example response (500):
{
"errors": [
"Failed to delete suborganization."
]
}
Received response:
Request failed with error:
Get All Suborganization
requires authentication
Get a list of the suborganizations for a user's default organization.
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/suborganizations/1/index" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"query\": \"Vivensity\",
\"size\": 10,
\"order_by_column\": \"name\",
\"order_by_type\": \"asc\"
}"
const url = new URL(
"http://localhost:8000/api/v1/suborganizations/1/index"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"query": "Vivensity",
"size": 10,
"order_by_column": "name",
"order_by_type": "asc"
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/suborganizations/1/index',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'query' => 'Vivensity',
'size' => 10,
'order_by_column' => 'name',
'order_by_type' => 'asc',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"suborganization": [
{
"id": 1,
"name": "Curriki Studio",
"description": "test",
"account_id": "1",
"api_key": "test",
"unit_path": "path",
"noovo_client_id": "1",
"parent": "1",
"image": "/storage/organizations/03wNdqJIt0zGUvtBUFxF7VuIF1eCnNGO77g0ykAo.jpeg",
"favicon": "/storage/organizations/favicon/PlPVBtEVfKEU8PBI1eknYgW3kjIf5YdpILBS0Yyr.png",
"domain": "currikistudio",
"self_registration": true,
"gcr_project_visibility": true,
"gcr_playlist_visibility": false,
"gcr_activity_visibility": false,
"organization_role": "Administrator",
"organization_role_id": 1,
"projects_count": 4,
"suborganization_count": 5,
"users_count": 1,
"groups_count": 0,
"teams_count": 2,
"tos_type": "URL",
"tos_url": "https://curriki.org",
"tos_content": "Test content",
"privacy_policy_type": "Parent",
"privacy_policy_url": null,
"privacy_policy_content": null,
"branding": {
"primary_color": "#515151",
"secondary_color": "#515151",
"tertiary_color": "#515151",
"primary_font_family": "open sans",
"secondary_font_family": "open sans"
},
"allowed_visibility_type_id": [
{
"id": 1,
"name": "private",
"display_name": "Private (only Me)"
},
{
"id": 3,
"name": "global",
"display_name": "My Org + Parent and Child Org"
}
]
}
]
}
Received response:
Request failed with error:
Get Organization Media Sources
requires authentication
Get the media sources of specific organization for image and videos .
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/suborganizations/1/media-sources" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/suborganizations/1/media-sources"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/suborganizations/1/media-sources',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"mediaSources": [
{
"id": 1,
"name": "My device",
"media_type": "Video",
"created_at": "2022-05-09T10:18:09.000000Z",
"updated_at": null,
"deleted_at": null,
"pivot": {
"organization_id": 1,
"media_source_id": 1,
"h5p_library": "H5P.AudioRecorder 1.0"
}
},
{
"id": 2,
"name": "YouTube",
"media_type": "Video",
"created_at": "2022-05-09T10:18:09.000000Z",
"updated_at": null,
"deleted_at": null,
"pivot": {
"organization_id": 1,
"media_source_id": 2,
"h5p_library": "H5P.CoursePresentation 1.22"
}
}
]
}
Received response:
Request failed with error:
Update Suborganization Media Sources
requires authentication
Update the media sources for specified suborganization.
Example request:
curl --request PUT \
"http://localhost:8000/api/v1/suborganizations/1/update-media-sources" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"media_source_ids\": 1,
\"h5p_library\": \"H5P.AudioRecorder 1.0\"
}"
const url = new URL(
"http://localhost:8000/api/v1/suborganizations/1/update-media-sources"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"media_source_ids": 1,
"h5p_library": "H5P.AudioRecorder 1.0"
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->put(
'http://localhost:8000/api/v1/suborganizations/1/update-media-sources',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'media_source_ids' => 1,
'h5p_library' => 'H5P.AudioRecorder 1.0',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
'message' => 'Media sources has been updated successfully.',
}
Example response (500):
{
"errors": [
"Failed to update Media sources."
]
}
Example response (200):
{
"message": "Media sources has been updated successfully.",
"mediaSources": [
{
"id": 1,
"name": "My device",
"media_type": "Video",
"created_at": "2022-05-09T10:18:09.000000Z",
"updated_at": null,
"deleted_at": null,
"pivot": {
"organization_id": 1,
"media_source_id": 1,
"h5p_library": "H5P.AudioRecorder 1.0"
}
},
{
"id": 7,
"name": "My device",
"media_type": "Image",
"created_at": "2022-05-09T10:18:09.000000Z",
"updated_at": null,
"deleted_at": null,
"pivot": {
"organization_id": 1,
"media_source_id": 7,
"h5p_library": "H5P.CoursePresentation 1.22"
}
}
]
}
Received response:
Request failed with error:
Get Media Sources
requires authentication
Get the media sources for image and videos.
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/media-sources" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/media-sources"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/media-sources',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"mediaSources": {
"Video": [
{
"id": 1,
"name": "My device",
"media_type": "Video",
"created_at": "2022-05-09T10:18:09.000000Z",
"updated_at": null,
"deleted_at": null
},
{
"id": 2,
"name": "YouTube",
"media_type": "Video",
"created_at": "2022-05-09T10:18:09.000000Z",
"updated_at": null,
"deleted_at": null
},
{
"id": 3,
"name": "Kaltura",
"media_type": "Video",
"created_at": "2022-05-09T10:18:09.000000Z",
"updated_at": null,
"deleted_at": null
},
{
"id": 4,
"name": "Safari Montage",
"media_type": "Video",
"created_at": "2022-05-09T10:18:09.000000Z",
"updated_at": null,
"deleted_at": null
},
{
"id": 5,
"name": "BrightCove",
"media_type": "Video",
"created_at": "2022-05-09T10:18:09.000000Z",
"updated_at": null,
"deleted_at": null
},
{
"id": 6,
"name": "Vimeo",
"media_type": "Video",
"created_at": "2022-05-09T10:18:09.000000Z",
"updated_at": null,
"deleted_at": null
}
],
"Image": [
{
"id": 7,
"name": "My device",
"media_type": "Image",
"created_at": "2022-05-09T10:18:09.000000Z",
"updated_at": null,
"deleted_at": null
},
{
"id": 8,
"name": "Pexels",
"media_type": "Image",
"created_at": "2022-05-09T10:18:09.000000Z",
"updated_at": null,
"deleted_at": null
},
{
"id": 9,
"name": "Safari Montage",
"media_type": "Image",
"created_at": "2022-05-09T10:18:09.000000Z",
"updated_at": null,
"deleted_at": null
}
]
}
}
Received response:
Request failed with error:
20. XAPI
An XAPI Controller Class Handles xAPI operations.
Save an xAPI Statement
Creates a new statement in the database.
Example request:
curl --request POST \
"http://localhost:8000/api/v1/xapi/statements" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"statement\": \"dolorem\"
}"
const url = new URL(
"http://localhost:8000/api/v1/xapi/statements"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"statement": "dolorem"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/xapi/statements',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'statement' => 'dolorem',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (201):
{
"id": "61ffa986-1dcc-3df0-94d8-a09384b197a7"
}
Example response (500):
{
"errors": [
"The statement could not be saved due to an error"
]
}
Received response:
Request failed with error:
21. Admin/Lti Tool Settings
APIs for Lti tool settings on admin panel. The doc block for LTIToolSettingsController will be updated later.
Delete Lti Tool
Delete Lti Tool Setting
Example request:
curl --request DELETE \
"http://localhost:8000/api/v1/suborganizations/1/lti-tool-settings/9" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/suborganizations/1/lti-tool-settings/9"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->delete(
'http://localhost:8000/api/v1/suborganizations/1/lti-tool-settings/9',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Received response:
Request failed with error:
Get LTI Tool Type List
Get filter based media sources list for specified suborganization.
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/suborganizations/1/lti-tool-type" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/suborganizations/1/lti-tool-type"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/suborganizations/1/lti-tool-type',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": [
{
"id": 3,
"name": "Kaltura",
"media_type": "Video",
"created_at": "2022-05-09T08:18:12.000000Z",
"updated_at": null,
"deleted_at": null,
"pivot": {
"organization_id": 1,
"media_source_id": 3,
"h5p_library": null,
"lti_tool_settings_status": true,
"created_at": "2022-11-01T14:27:41.000000Z",
"updated_at": "2022-11-02T12:54:59.000000Z"
}
},
{
"id": 6,
"name": "Vimeo",
"media_type": "Video",
"created_at": "2022-05-09T08:18:12.000000Z",
"updated_at": null,
"deleted_at": null,
"pivot": {
"organization_id": 1,
"media_source_id": 6,
"h5p_library": null,
"lti_tool_settings_status": true,
"created_at": "2022-11-01T14:27:41.000000Z",
"updated_at": "2022-11-02T12:54:59.000000Z"
}
},
{
"id": 13,
"name": "Komodo",
"media_type": "Video",
"created_at": "2022-08-01T09:44:58.000000Z",
"updated_at": null,
"deleted_at": null,
"pivot": {
"organization_id": 1,
"media_source_id": 13,
"h5p_library": null,
"lti_tool_settings_status": true,
"created_at": "2022-11-01T14:27:41.000000Z",
"updated_at": "2022-11-02T12:55:00.000000Z"
}
}
]
}
Received response:
Request failed with error:
22. Team
APIs for team management
Invite Team
Invite a team member while creating a team.
Example request:
curl --request POST \
"http://localhost:8000/api/v1/teams/invite" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"id\": 1,
\"email\": \"abby@curriki.org\"
}"
const url = new URL(
"http://localhost:8000/api/v1/teams/invite"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"id": 1,
"email": "abby@curriki.org"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/teams/invite',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'id' => 1.0,
'email' => 'abby@curriki.org',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"invited": true
}
Example response (400):
{
"invited": false
}
Received response:
Request failed with error:
Invite Team Member
Invite a team member to the team.
Example request:
curl --request POST \
"http://localhost:8000/api/v1/teams/1/invite-member" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"email\": \"abby@curriki.org\",
\"role_id\": \"error\"
}"
const url = new URL(
"http://localhost:8000/api/v1/teams/1/invite-member"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"email": "abby@curriki.org",
"role_id": "error"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/teams/1/invite-member',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'email' => 'abby@curriki.org',
'role_id' => 'error',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "User has been invited to the team successfully."
}
Example response (403):
{
"errors": [
"You do not have permission to invite user to the team."
]
}
Example response (500):
{
"errors": [
"Failed to invite user to the team."
]
}
Received response:
Request failed with error:
Invite Team Members
Invite a bundle of users to the team.
Example request:
curl --request POST \
"http://localhost:8000/api/v1/suborganization/1/teams/5/invite-members" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"users\": [
\"iste\"
],
\"note\": \"sunt\"
}"
const url = new URL(
"http://localhost:8000/api/v1/suborganization/1/teams/5/invite-members"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"users": [
"iste"
],
"note": "sunt"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/suborganization/1/teams/5/invite-members',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'users' => [
'iste',
],
'note' => 'sunt',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "Users have been invited to the team successfully."
}
Example response (403):
{
"errors": [
"You do not have permission to invite users to the team."
]
}
Example response (500):
{
"errors": [
"Failed to invite users to the team."
]
}
Received response:
Request failed with error:
Remove Team Member
remove a team member to the team.
Example request:
curl --request POST \
"http://localhost:8000/api/v1/teams/14/remove" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"id\": 1,
\"email\": \"lukas.kuphal@example.net\"
}"
const url = new URL(
"http://localhost:8000/api/v1/teams/14/remove"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"id": 1,
"email": "lukas.kuphal@example.net"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/teams/14/remove',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'id' => 1,
'email' => 'lukas.kuphal@example.net',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "User has been removed from the team successfully."
}
Example response (403):
{
"errors": [
"You do not have permission to remove user from the team."
]
}
Example response (500):
{
"errors": [
"Failed to remove user from the team."
]
}
Received response:
Request failed with error:
Add Projects to the Team
Add projects to the team.
Example request:
curl --request POST \
"http://localhost:8000/api/v1/teams/6/add-projects" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"ids\": [
1
]
}"
const url = new URL(
"http://localhost:8000/api/v1/teams/6/add-projects"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"ids": [
1
]
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/teams/6/add-projects',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'ids' => [
1,
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "Projects have been added to the team successfully."
}
Example response (403):
{
"errors": [
"You do not have permission to add projects to the team."
]
}
Example response (500):
{
"errors": [
"Failed to add projects to the team."
]
}
Received response:
Request failed with error:
Remove Project from the Team
Remove a project from the team.
Example request:
curl --request POST \
"http://localhost:8000/api/v1/teams/19/remove-project" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"id\": 1
}"
const url = new URL(
"http://localhost:8000/api/v1/teams/19/remove-project"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"id": 1
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/teams/19/remove-project',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'id' => 1,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "Project has been removed from the team successfully."
}
Example response (403):
{
"errors": [
"You do not have permission to remove project from the team."
]
}
Example response (500):
{
"errors": [
"Failed to remove project from the team."
]
}
Received response:
Request failed with error:
Add Members to the Team Project
Add members to a specified project of specified team.
Example request:
curl --request POST \
"http://localhost:8000/api/v1/teams/7/projects/3024/add-members" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"ids\": [
1
]
}"
const url = new URL(
"http://localhost:8000/api/v1/teams/7/projects/3024/add-members"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"ids": [
1
]
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/teams/7/projects/3024/add-members',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'ids' => [
1,
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "Members have been added to the team project successfully."
}
Example response (403):
{
"errors": [
"You do not have permission to add members to the team project."
]
}
Example response (500):
{
"errors": [
"Failed to add members to the team project."
]
}
Received response:
Request failed with error:
Remove Member from the Team Project
Remove member from a specified project of specified team.
Example request:
curl --request POST \
"http://localhost:8000/api/v1/teams/12/projects/3024/remove-member" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"id\": 1,
\"email\": \"bwyman@example.com\"
}"
const url = new URL(
"http://localhost:8000/api/v1/teams/12/projects/3024/remove-member"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"id": 1,
"email": "bwyman@example.com"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/teams/12/projects/3024/remove-member',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'id' => 1,
'email' => 'bwyman@example.com',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "Member has been removed from the team project successfully."
}
Example response (403):
{
"errors": [
"You do not have permission to remove member from the team project."
]
}
Example response (500):
{
"errors": [
"Failed to remove member from the team project."
]
}
Received response:
Request failed with error:
Get All Organization Teams
Get a list of the teams of an Organization.
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/suborganization/1/get-teams" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/suborganization/1/get-teams"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/suborganization/1/get-teams',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": [
{
"id": 52,
"organization_id": 1,
"name": "Team 12",
"description": "desc",
"indexing": null,
"users": [
{
"id": 1,
"first_name": "Test",
"last_name": "Test",
"email": "test@test.com",
"projects": [
{
"id": 6,
"name": "The Science of Golf",
"description": "Uncover the science, technology, engineering, and mathematics behind the game of golf.",
"thumb_url": "",
"created_at": "2021-08-17T09:52:34.000000Z",
"updated_at": "2021-08-17T09:52:34.000000Z",
"deleted_at": null,
"shared": true,
"is_public": false,
"starter_project": false,
"elasticsearch": false,
"organization_id": null,
"organization_visibility_type_id": null,
"cloned_from": 1,
"clone_ctr": 0,
"order": 1,
"is_user_starter": false,
"status": 1,
"indexing": null,
"original_user": null,
"team_id": null,
"pivot": {
"user_id": 1,
"project_id": 6,
"role": "owner",
"created_at": "2021-08-17T09:52:34.000000Z",
"updated_at": "2021-08-17T09:52:34.000000Z"
}
}
],
"role": {
"id": 1,
"name": "admin",
"display_name": "Team Administrator",
"created_at": "2021-07-19T11:39:05.000000Z",
"updated_at": null
}
}
],
"invited_emails": [],
"projects": [],
"created_at": "2021-07-20T11:02:20.000000Z",
"updated_at": "2021-07-20T11:02:20.000000Z"
}
],
"links": {
"first": "http://localhost:8000/api/v1/suborganization/1/teams?page=1",
"last": "http://localhost:8000/api/v1/suborganization/1/teams?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"path": "http://localhost:8000/api/v1/suborganization/1/teams",
"per_page": 10,
"to": 2,
"total": 2
}
}
Received response:
Request failed with error:
Get All Organization Teams for Admin
Get a list of the teams of an Organization.
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/suborganization/1/get-admin-teams" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"query\": \"bqieqwrgehkwbfyesgvi\",
\"order_by_column\": \"created_at\",
\"order_by_type\": \"asc\",
\"size\": 29
}"
const url = new URL(
"http://localhost:8000/api/v1/suborganization/1/get-admin-teams"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"query": "bqieqwrgehkwbfyesgvi",
"order_by_column": "created_at",
"order_by_type": "asc",
"size": 29
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/suborganization/1/get-admin-teams',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'query' => 'bqieqwrgehkwbfyesgvi',
'order_by_column' => 'created_at',
'order_by_type' => 'asc',
'size' => 29,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": [
{
"id": 52,
"organization_id": 1,
"name": "Team 12",
"description": "desc",
"indexing": null,
"users": [
{
"id": 1,
"first_name": "Test",
"last_name": "Test",
"email": "test@test.com",
"projects": [
{
"id": 6,
"name": "The Science of Golf",
"description": "Uncover the science, technology, engineering, and mathematics behind the game of golf.",
"thumb_url": "",
"created_at": "2021-08-17T09:52:34.000000Z",
"updated_at": "2021-08-17T09:52:34.000000Z",
"deleted_at": null,
"shared": true,
"is_public": false,
"starter_project": false,
"elasticsearch": false,
"organization_id": null,
"organization_visibility_type_id": null,
"cloned_from": 1,
"clone_ctr": 0,
"order": 1,
"is_user_starter": false,
"status": 1,
"indexing": null,
"original_user": null,
"team_id": null,
"pivot": {
"user_id": 1,
"project_id": 6,
"role": "owner",
"created_at": "2021-08-17T09:52:34.000000Z",
"updated_at": "2021-08-17T09:52:34.000000Z"
}
}
],
"role": {
"id": 1,
"name": "admin",
"display_name": "Team Administrator",
"created_at": "2021-07-19T11:39:05.000000Z",
"updated_at": null
}
}
],
"invited_emails": [],
"projects": [],
"created_at": "2021-07-20T11:02:20.000000Z",
"updated_at": "2021-07-20T11:02:20.000000Z"
}
],
"links": {
"first": "http://localhost:8000/api/v1/suborganization/1/teams?page=1",
"last": "http://localhost:8000/api/v1/suborganization/1/teams?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"path": "http://localhost:8000/api/v1/suborganization/1/teams",
"per_page": 10,
"to": 2,
"total": 2
}
}
Received response:
Request failed with error:
Get User Team Permissions
Get the logged-in user's team permissions in the suborganization.
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/suborganization/1/team/6/team-permissions" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/suborganization/1/team/6/team-permissions"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/suborganization/1/team/6/team-permissions',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"teamPermissions": {
"activeRole": "admin",
"roleId": 1,
"Team": [
"team:add-team-user",
"team:remove-team-user",
"team:add-project",
"team:remove-project",
"team:add-member-project",
"team:remove-member-project",
"team:add-playlist",
"team:edit-playlist",
"team:delete-playlist",
"team:add-activity",
"team:edit-activity",
"team:delete-activity",
"team:share-project",
"team:share-activity",
"team:share-playlist",
"team:assign-team-role"
]
}
}
Received response:
Request failed with error:
Update Team Member Role
Update the specified user role of a team.
Example request:
curl --request PUT \
"http://localhost:8000/api/v1/suborganization/1/team/4/update-team-member-role" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"user_id\": \"12\",
\"role_id\": \"1\"
}"
const url = new URL(
"http://localhost:8000/api/v1/suborganization/1/team/4/update-team-member-role"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"user_id": "12",
"role_id": "1"
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->put(
'http://localhost:8000/api/v1/suborganization/1/team/4/update-team-member-role',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'user_id' => '12',
'role_id' => '1',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (500):
{
"errors": [
"Failed to update team member role."
]
}
Example response (200):
{
"data": [
{
"id": 52,
"organization_id": 1,
"name": "Team 12",
"description": "desc",
"indexing": null,
"users": [
{
"id": 1,
"first_name": "Test",
"last_name": "Test",
"email": "test@test.com",
"projects": [
{
"id": 6,
"name": "The Science of Golf",
"description": "Uncover the science, technology, engineering, and mathematics behind the game of golf.",
"thumb_url": "",
"created_at": "2021-08-17T09:52:34.000000Z",
"updated_at": "2021-08-17T09:52:34.000000Z",
"deleted_at": null,
"shared": true,
"is_public": false,
"starter_project": false,
"elasticsearch": false,
"organization_id": null,
"organization_visibility_type_id": null,
"cloned_from": 1,
"clone_ctr": 0,
"order": 1,
"is_user_starter": false,
"status": 1,
"indexing": null,
"original_user": null,
"team_id": null,
"pivot": {
"user_id": 1,
"project_id": 6,
"role": "owner",
"created_at": "2021-08-17T09:52:34.000000Z",
"updated_at": "2021-08-17T09:52:34.000000Z"
}
}
],
"role": {
"id": 1,
"name": "admin",
"display_name": "Team Administrator",
"created_at": "2021-07-19T11:39:05.000000Z",
"updated_at": null
}
}
],
"invited_emails": [],
"projects": [],
"created_at": "2021-07-20T11:02:20.000000Z",
"updated_at": "2021-07-20T11:02:20.000000Z"
}
],
"links": {
"first": "http://localhost:8000/api/v1/suborganization/1/teams?page=1",
"last": "http://localhost:8000/api/v1/suborganization/1/teams?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"path": "http://localhost:8000/api/v1/suborganization/1/teams",
"per_page": 10,
"to": 2,
"total": 2
}
}
Received response:
Request failed with error:
Get All Teams
Get a list of the teams of a user.
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/suborganization/1/teams" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/suborganization/1/teams"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/suborganization/1/teams',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": [
{
"id": 52,
"organization_id": 1,
"name": "Team 12",
"description": "desc",
"indexing": null,
"users": [
{
"id": 1,
"first_name": "Test",
"last_name": "Test",
"email": "test@test.com",
"projects": [
{
"id": 6,
"name": "The Science of Golf",
"description": "Uncover the science, technology, engineering, and mathematics behind the game of golf.",
"thumb_url": "",
"created_at": "2021-08-17T09:52:34.000000Z",
"updated_at": "2021-08-17T09:52:34.000000Z",
"deleted_at": null,
"shared": true,
"is_public": false,
"starter_project": false,
"elasticsearch": false,
"organization_id": null,
"organization_visibility_type_id": null,
"cloned_from": 1,
"clone_ctr": 0,
"order": 1,
"is_user_starter": false,
"status": 1,
"indexing": null,
"original_user": null,
"team_id": null,
"pivot": {
"user_id": 1,
"project_id": 6,
"role": "owner",
"created_at": "2021-08-17T09:52:34.000000Z",
"updated_at": "2021-08-17T09:52:34.000000Z"
}
}
],
"role": {
"id": 1,
"name": "admin",
"display_name": "Team Administrator",
"created_at": "2021-07-19T11:39:05.000000Z",
"updated_at": null
}
}
],
"invited_emails": [],
"projects": [],
"created_at": "2021-07-20T11:02:20.000000Z",
"updated_at": "2021-07-20T11:02:20.000000Z"
}
],
"links": {
"first": "http://localhost:8000/api/v1/suborganization/1/teams?page=1",
"last": "http://localhost:8000/api/v1/suborganization/1/teams?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"path": "http://localhost:8000/api/v1/suborganization/1/teams",
"per_page": 10,
"to": 2,
"total": 2
}
}
Received response:
Request failed with error:
Create Team
Create a new team in storage for a user.
Example request:
curl --request POST \
"http://localhost:8000/api/v1/suborganization/1/teams" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"organization_id\": 13,
\"name\": \"Test Team\",
\"description\": \"This is a test team.\",
\"users\": [
{
\"id\": \"quo\",
\"role_id\": \"perferendis\",
\"email\": \"fred39@example.net\"
}
],
\"projects\": \"d\",
\"note\": \"wwwqabepm\",
\"noovo_group_title\": \"Test_Group\"
}"
const url = new URL(
"http://localhost:8000/api/v1/suborganization/1/teams"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"organization_id": 13,
"name": "Test Team",
"description": "This is a test team.",
"users": [
{
"id": "quo",
"role_id": "perferendis",
"email": "fred39@example.net"
}
],
"projects": "d",
"note": "wwwqabepm",
"noovo_group_title": "Test_Group"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/suborganization/1/teams',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'organization_id' => 13,
'name' => 'Test Team',
'description' => 'This is a test team.',
'users' => [
[
'id' => 'quo',
'role_id' => 'perferendis',
'email' => 'fred39@example.net',
],
],
'projects' => 'd',
'note' => 'wwwqabepm',
'noovo_group_title' => 'Test_Group',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (500):
{
"errors": [
"Could not create team. Please try again later."
]
}
Example response (201):
{
"data": [
{
"id": 52,
"organization_id": 1,
"name": "Team 12",
"description": "desc",
"indexing": null,
"users": [
{
"id": 1,
"first_name": "Test",
"last_name": "Test",
"email": "test@test.com",
"projects": [
{
"id": 6,
"name": "The Science of Golf",
"description": "Uncover the science, technology, engineering, and mathematics behind the game of golf.",
"thumb_url": "",
"created_at": "2021-08-17T09:52:34.000000Z",
"updated_at": "2021-08-17T09:52:34.000000Z",
"deleted_at": null,
"shared": true,
"is_public": false,
"starter_project": false,
"elasticsearch": false,
"organization_id": null,
"organization_visibility_type_id": null,
"cloned_from": 1,
"clone_ctr": 0,
"order": 1,
"is_user_starter": false,
"status": 1,
"indexing": null,
"original_user": null,
"team_id": null,
"pivot": {
"user_id": 1,
"project_id": 6,
"role": "owner",
"created_at": "2021-08-17T09:52:34.000000Z",
"updated_at": "2021-08-17T09:52:34.000000Z"
}
}
],
"role": {
"id": 1,
"name": "admin",
"display_name": "Team Administrator",
"created_at": "2021-07-19T11:39:05.000000Z",
"updated_at": null
}
}
],
"invited_emails": [],
"projects": [],
"created_at": "2021-07-20T11:02:20.000000Z",
"updated_at": "2021-07-20T11:02:20.000000Z"
}
],
"links": {
"first": "http://localhost:8000/api/v1/suborganization/1/teams?page=1",
"last": "http://localhost:8000/api/v1/suborganization/1/teams?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"path": "http://localhost:8000/api/v1/suborganization/1/teams",
"per_page": 10,
"to": 2,
"total": 2
}
}
Received response:
Request failed with error:
Get Team
Get the specified team detail.
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/suborganization/1/teams/20" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/suborganization/1/teams/20"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/suborganization/1/teams/20',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (201):
{
"data": [
{
"id": 52,
"organization_id": 1,
"name": "Team 12",
"description": "desc",
"indexing": null,
"users": [
{
"id": 1,
"first_name": "Test",
"last_name": "Test",
"email": "test@test.com",
"projects": [
{
"id": 6,
"name": "The Science of Golf",
"description": "Uncover the science, technology, engineering, and mathematics behind the game of golf.",
"thumb_url": "",
"created_at": "2021-08-17T09:52:34.000000Z",
"updated_at": "2021-08-17T09:52:34.000000Z",
"deleted_at": null,
"shared": true,
"is_public": false,
"starter_project": false,
"elasticsearch": false,
"organization_id": null,
"organization_visibility_type_id": null,
"cloned_from": 1,
"clone_ctr": 0,
"order": 1,
"is_user_starter": false,
"status": 1,
"indexing": null,
"original_user": null,
"team_id": null,
"pivot": {
"user_id": 1,
"project_id": 6,
"role": "owner",
"created_at": "2021-08-17T09:52:34.000000Z",
"updated_at": "2021-08-17T09:52:34.000000Z"
}
}
],
"role": {
"id": 1,
"name": "admin",
"display_name": "Team Administrator",
"created_at": "2021-07-19T11:39:05.000000Z",
"updated_at": null
}
}
],
"invited_emails": [],
"projects": [],
"created_at": "2021-07-20T11:02:20.000000Z",
"updated_at": "2021-07-20T11:02:20.000000Z"
}
],
"links": {
"first": "http://localhost:8000/api/v1/suborganization/1/teams?page=1",
"last": "http://localhost:8000/api/v1/suborganization/1/teams?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"path": "http://localhost:8000/api/v1/suborganization/1/teams",
"per_page": 10,
"to": 2,
"total": 2
}
}
Received response:
Request failed with error:
Update Team
Update the specified team of a user.
Example request:
curl --request PUT \
"http://localhost:8000/api/v1/suborganization/1/teams/13" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"Test Team\",
\"description\": \"This is a test team.\",
\"noovo_group_title\": \"Test_Group\"
}"
const url = new URL(
"http://localhost:8000/api/v1/suborganization/1/teams/13"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "Test Team",
"description": "This is a test team.",
"noovo_group_title": "Test_Group"
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->put(
'http://localhost:8000/api/v1/suborganization/1/teams/13',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'name' => 'Test Team',
'description' => 'This is a test team.',
'noovo_group_title' => 'Test_Group',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (500):
{
"errors": [
"Failed to update team."
]
}
Example response (200):
{
"data": [
{
"id": 52,
"organization_id": 1,
"name": "Team 12",
"description": "desc",
"indexing": null,
"users": [
{
"id": 1,
"first_name": "Test",
"last_name": "Test",
"email": "test@test.com",
"projects": [
{
"id": 6,
"name": "The Science of Golf",
"description": "Uncover the science, technology, engineering, and mathematics behind the game of golf.",
"thumb_url": "",
"created_at": "2021-08-17T09:52:34.000000Z",
"updated_at": "2021-08-17T09:52:34.000000Z",
"deleted_at": null,
"shared": true,
"is_public": false,
"starter_project": false,
"elasticsearch": false,
"organization_id": null,
"organization_visibility_type_id": null,
"cloned_from": 1,
"clone_ctr": 0,
"order": 1,
"is_user_starter": false,
"status": 1,
"indexing": null,
"original_user": null,
"team_id": null,
"pivot": {
"user_id": 1,
"project_id": 6,
"role": "owner",
"created_at": "2021-08-17T09:52:34.000000Z",
"updated_at": "2021-08-17T09:52:34.000000Z"
}
}
],
"role": {
"id": 1,
"name": "admin",
"display_name": "Team Administrator",
"created_at": "2021-07-19T11:39:05.000000Z",
"updated_at": null
}
}
],
"invited_emails": [],
"projects": [],
"created_at": "2021-07-20T11:02:20.000000Z",
"updated_at": "2021-07-20T11:02:20.000000Z"
}
],
"links": {
"first": "http://localhost:8000/api/v1/suborganization/1/teams?page=1",
"last": "http://localhost:8000/api/v1/suborganization/1/teams?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"path": "http://localhost:8000/api/v1/suborganization/1/teams",
"per_page": 10,
"to": 2,
"total": 2
}
}
Received response:
Request failed with error:
Remove Team
Remove the specified team of a user.
Example request:
curl --request DELETE \
"http://localhost:8000/api/v1/suborganization/1/teams/11" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/suborganization/1/teams/11"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->delete(
'http://localhost:8000/api/v1/suborganization/1/teams/11',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "Team has been deleted successfully."
}
Example response (500):
{
"errors": [
"Failed to delete team."
]
}
Received response:
Request failed with error:
Push Project to Noovo
script to push project from curriki to noovo mapped device.
Example request:
curl --request POST \
"http://localhost:8000/api/v1/suborganization/1/teams/4/projects/3024/export-projects-to-noovo" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/suborganization/1/teams/4/projects/3024/export-projects-to-noovo"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/suborganization/1/teams/4/projects/3024/export-projects-to-noovo',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "Indexing request for this team has been made successfully!"
}
Example response (404):
{
"message": "No query results for model [Team] Id"
}
Example response (500):
{
"errors": [
"Noovo Client id or group id is missing.",
"Team must be finalized before requesting the indexing."
]
}
Received response:
Request failed with error:
23. Author Tag
APIs for author tags management
Get Author Tags
Get a list of all author tags.
Create Author Tag
Create a new author tag.
Get Author Tag
Get the specified author tag.
Remove Author Tag
Remove the specified author tag.
24. Education Level
APIs for education level management
Get Education Level
Get a list of all education level.
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/suborganizations/1/education-levels" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"size\": 236,
\"query\": \"ggqfevztpafrnadrbzztmnihvcjrsgezzwkuqnfqddmbsjbognlshbyqyunzmbuhpmwztyfiqqlbsynnoltyrwwottrubeeqpogskumkrnsxceguypjffovnlippnroqtukqgsmlsfsttcsjerqmoevujvwqzdelcjtqfyqvfuweecaljiwpwentzjkejiaqqhevmaroezqatxfuivekeuhrzth\",
\"order_by_column\": \"name\",
\"order_by_type\": \"asc\"
}"
const url = new URL(
"http://localhost:8000/api/v1/suborganizations/1/education-levels"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"size": 236,
"query": "ggqfevztpafrnadrbzztmnihvcjrsgezzwkuqnfqddmbsjbognlshbyqyunzmbuhpmwztyfiqqlbsynnoltyrwwottrubeeqpogskumkrnsxceguypjffovnlippnroqtukqgsmlsfsttcsjerqmoevujvwqzdelcjtqfyqvfuweecaljiwpwentzjkejiaqqhevmaroezqatxfuivekeuhrzth",
"order_by_column": "name",
"order_by_type": "asc"
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/suborganizations/1/education-levels',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'size' => 236,
'query' => 'ggqfevztpafrnadrbzztmnihvcjrsgezzwkuqnfqddmbsjbognlshbyqyunzmbuhpmwztyfiqqlbsynnoltyrwwottrubeeqpogskumkrnsxceguypjffovnlippnroqtukqgsmlsfsttcsjerqmoevujvwqzdelcjtqfyqvfuweecaljiwpwentzjkejiaqqhevmaroezqatxfuivekeuhrzth',
'order_by_column' => 'name',
'order_by_type' => 'asc',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": [
{
"id": 1,
"name": "Grade A",
"order": 1,
"organization_id": "1",
"created_at": "2022-01-07T13:51:38.000000Z",
"updated_at": "2022-01-07T13:51:38.000000Z"
},
{
"id": 2,
"name": "Grade B",
"order": 1,
"organization_id": "2",
"created_at": "2022-01-07T13:51:56.000000Z",
"updated_at": "2022-01-07T13:51:56.000000Z"
}
],
"links": {
"first": "http://localhost:8000/api/v1/education-levels?page=1",
"last": "http://localhost:8000/api/v1/education-levels?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"path": "http://localhost:8000/api/v1/education-levels",
"per_page": 10,
"to": 2,
"total": 2
}
}
Received response:
Request failed with error:
Create Education Level
Create a new education level.
Example request:
curl --request POST \
"http://localhost:8000/api/v1/suborganizations/1/education-levels" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"Special Education\",
\"order\": 1,
\"organization_id\": 4
}"
const url = new URL(
"http://localhost:8000/api/v1/suborganizations/1/education-levels"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "Special Education",
"order": 1,
"organization_id": 4
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/suborganizations/1/education-levels',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'name' => 'Special Education',
'order' => 1,
'organization_id' => 4,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (500):
{
"errors": [
"Could not create education level. Please try again later."
]
}
Example response (201):
{
"education-level": {
"id": 1,
"name": "Grade A",
"order": "1",
"organization_id": "1",
"created_at": "2022-01-07T13:51:56.000000Z",
"updated_at": "2022-01-07T13:51:56.000000Z"
}
}
Received response:
Request failed with error:
Get Education Level
Get the specified education level.
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/suborganizations/1/education-levels/1" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/suborganizations/1/education-levels/1"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/suborganizations/1/education-levels/1',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"education-level": {
"id": 1,
"name": "Grade A",
"order": "1",
"organization_id": "1",
"created_at": "2022-01-07T13:51:56.000000Z",
"updated_at": "2022-01-07T13:51:56.000000Z"
}
}
Received response:
Request failed with error:
Remove Education Level
Remove the specified education level.
Example request:
curl --request DELETE \
"http://localhost:8000/api/v1/suborganizations/1/education-levels/1" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/suborganizations/1/education-levels/1"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->delete(
'http://localhost:8000/api/v1/suborganizations/1/education-levels/1',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "Education Level has been deleted successfully."
}
Example response (500):
{
"errors": [
"Failed to delete education level."
]
}
Received response:
Request failed with error:
25. Subject
APIs for subject management
Get Subjects
Get a list of all subjects.
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/suborganizations/1/subjects" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"size\": 97,
\"query\": \"qphhgxhdzzvrziyujthqxwkcpmyfadlfifywvguvwopylxziloytszuscfaarurapjjxzaxdfarjwvubutkhcdfykhfhtsgwvoquwylubvtesiieiaywskkjewbeltyjzkbajpefbafhwlnbroeqpdsooxkicufvoujmojjhibclsbjaqohxflblvmcriimwagsxdrlgbre\",
\"order_by_column\": \"order\",
\"order_by_type\": \"DESC\"
}"
const url = new URL(
"http://localhost:8000/api/v1/suborganizations/1/subjects"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"size": 97,
"query": "qphhgxhdzzvrziyujthqxwkcpmyfadlfifywvguvwopylxziloytszuscfaarurapjjxzaxdfarjwvubutkhcdfykhfhtsgwvoquwylubvtesiieiaywskkjewbeltyjzkbajpefbafhwlnbroeqpdsooxkicufvoujmojjhibclsbjaqohxflblvmcriimwagsxdrlgbre",
"order_by_column": "order",
"order_by_type": "DESC"
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/suborganizations/1/subjects',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'size' => 97,
'query' => 'qphhgxhdzzvrziyujthqxwkcpmyfadlfifywvguvwopylxziloytszuscfaarurapjjxzaxdfarjwvubutkhcdfykhfhtsgwvoquwylubvtesiieiaywskkjewbeltyjzkbajpefbafhwlnbroeqpdsooxkicufvoujmojjhibclsbjaqohxflblvmcriimwagsxdrlgbre',
'order_by_column' => 'order',
'order_by_type' => 'DESC',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": [
{
"id": 1,
"name": "Math",
"order": 1,
"organization_id": "1",
"created_at": "2022-01-06T11:41:46.000000Z",
"updated_at": "2022-01-06T11:41:46.000000Z"
},
{
"id": 3,
"name": "English",
"order": 2,
"organization_id": "2",
"created_at": "2022-01-06T11:59:17.000000Z",
"updated_at": "2022-01-06T11:59:17.000000Z"
}
],
"links": {
"first": "http://localhost:8000/api/v1/subjects?page=1",
"last": "http://localhost:8000/api/v1/subjects?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"path": "http://localhost:8000/api/v1/subjects",
"per_page": 10,
"to": 2,
"total": 2
}
}
Received response:
Request failed with error:
Create Subject
Create a new subject.
Example request:
curl --request POST \
"http://localhost:8000/api/v1/suborganizations/1/subjects" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"Special Education\",
\"order\": 1,
\"organization_id\": 16
}"
const url = new URL(
"http://localhost:8000/api/v1/suborganizations/1/subjects"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "Special Education",
"order": 1,
"organization_id": 16
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/suborganizations/1/subjects',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'name' => 'Special Education',
'order' => 1,
'organization_id' => 16,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (500):
{
"errors": [
"Could not create subject. Please try again later."
]
}
Example response (201):
{
"subject": {
"id": 4,
"name": "English",
"order": 1,
"organization_id": "1",
"created_at": "2022-01-06T11:59:52.000000Z",
"updated_at": "2022-01-06T11:59:52.000000Z"
}
}
Received response:
Request failed with error:
Get Subject
Get the specified subject.
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/suborganizations/1/subjects/1" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/suborganizations/1/subjects/1"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/suborganizations/1/subjects/1',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"subject": {
"id": 4,
"name": "English",
"order": 1,
"organization_id": "1",
"created_at": "2022-01-06T11:59:52.000000Z",
"updated_at": "2022-01-06T11:59:52.000000Z"
}
}
Received response:
Request failed with error:
Remove Subject
Remove the specified subject.
Example request:
curl --request DELETE \
"http://localhost:8000/api/v1/suborganizations/1/subjects/1" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/suborganizations/1/subjects/1"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->delete(
'http://localhost:8000/api/v1/suborganizations/1/subjects/1',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "Subject has been deleted successfully."
}
Example response (500):
{
"errors": [
"Failed to delete subject."
]
}
Received response:
Request failed with error:
26. LMS Settings
APIs for LMS settings used for publishing
Get Projects based on LMS/LTI settings
Get a list of projects that belong to the same LMS/LTI settings
Example request:
curl --request POST \
"http://localhost:8000/api/v1/go/lms/projects" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"lti_client_id\": 12,
\"user_email\": \"jermaine30@example.com\",
\"course_id\": \"atque\",
\"api_domain_url\": \"commodi\",
\"course_name\": \"fugit\",
\"lms_url\": \"quo\"
}"
const url = new URL(
"http://localhost:8000/api/v1/go/lms/projects"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"lti_client_id": 12,
"user_email": "jermaine30@example.com",
"course_id": "atque",
"api_domain_url": "commodi",
"course_name": "fugit",
"lms_url": "quo"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/go/lms/projects',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'lti_client_id' => 12,
'user_email' => 'jermaine30@example.com',
'course_id' => 'atque',
'api_domain_url' => 'commodi',
'course_name' => 'fugit',
'lms_url' => 'quo',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"projects": [
{
"id": 1,
"name": "Test Project",
"description": "This is a test project.",
"thumb_url": "https://images.pexels.com/photos/2832382",
"shared": true,
"starter_project": null,
"is_public": true,
"gcr_project_visibility": true,
"created_at": "2020-09-06T19:21:08.000000Z",
"updated_at": "2020-09-06T19:21:08.000000Z"
},
{
"id": 2,
"name": "Math Project",
"description": "This is a test math project.",
"thumb_url": "https://images.pexels.com/photos/2832384",
"shared": true,
"starter_project": null,
"is_public": true,
"created_at": "2020-09-07T19:21:08.000000Z",
"updated_at": "2020-09-07T19:21:08.000000Z"
}
]
}
Received response:
Request failed with error:
GET api/v1/go/lms/project/{project_id}
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/go/lms/project/3024" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/go/lms/project/3024"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/go/lms/project/3024',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
{
"message": "No query results for model [App\\Models\\Project] 1",
"exception": "Symfony\\Component\\HttpKernel\\Exception\\NotFoundHttpException",
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Exceptions\\Handler.php",
"line": 385,
"trace": [
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Exceptions\\Handler.php",
"line": 332,
"function": "prepareException",
"class": "Illuminate\\Foundation\\Exceptions\\Handler",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\app\\Exceptions\\Handler.php",
"line": 53,
"function": "render",
"class": "Illuminate\\Foundation\\Exceptions\\Handler",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\nunomaduro\\collision\\src\\Adapters\\Laravel\\ExceptionHandler.php",
"line": 54,
"function": "render",
"class": "App\\Exceptions\\Handler",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Pipeline.php",
"line": 51,
"function": "render",
"class": "NunoMaduro\\Collision\\Adapters\\Laravel\\ExceptionHandler",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 172,
"function": "handleException",
"class": "Illuminate\\Routing\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 103,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 723,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 698,
"function": "runRouteWithinStack",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 662,
"function": "runRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 651,
"function": "dispatchToRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 167,
"function": "dispatch",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 128,
"function": "Illuminate\\Foundation\\Http\\{closure}",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull.php",
"line": 31,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TrimStrings.php",
"line": 40,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TrimStrings",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize.php",
"line": 27,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance.php",
"line": 86,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\app\\Http\\Middleware\\Cors.php",
"line": 40,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "App\\Http\\Middleware\\Cors",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\fideloper\\proxy\\src\\TrustProxies.php",
"line": 57,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Fideloper\\Proxy\\TrustProxies",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 103,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 142,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 111,
"function": "sendRequestThroughRouter",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 299,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 287,
"function": "callLaravelOrLumenRoute",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 89,
"function": "makeApiCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 45,
"function": "makeResponseCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 35,
"function": "makeResponseCallIfConditionsPass",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 222,
"function": "__invoke",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 179,
"function": "iterateThroughStrategies",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 116,
"function": "fetchResponses",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 123,
"function": "processRoute",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 80,
"function": "extractEndpointsInfoFromLaravelApp",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 56,
"function": "extractEndpointsInfoAndWriteToDisk",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Commands\\GenerateDocumentation.php",
"line": 55,
"function": "get",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 36,
"function": "handle",
"class": "Knuckles\\Scribe\\Commands\\GenerateDocumentation",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Util.php",
"line": 40,
"function": "Illuminate\\Container\\{closure}",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 93,
"function": "unwrapIfClosure",
"class": "Illuminate\\Container\\Util",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 37,
"function": "callBoundMethod",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 653,
"function": "call",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
"line": 136,
"function": "call",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Command\\Command.php",
"line": 298,
"function": "execute",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
"line": 121,
"function": "run",
"class": "Symfony\\Component\\Console\\Command\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 1040,
"function": "run",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 301,
"function": "doRunCommand",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 171,
"function": "doRun",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Application.php",
"line": 94,
"function": "run",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Console\\Kernel.php",
"line": 129,
"function": "run",
"class": "Illuminate\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\artisan",
"line": 37,
"function": "handle",
"class": "Illuminate\\Foundation\\Console\\Kernel",
"type": "->"
}
]
}
Received response:
Request failed with error:
POST api/v1/go/lms/activities
Example request:
curl --request POST \
"http://localhost:8000/api/v1/go/lms/activities" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"query\": \"osacmdzagjfouhfmtbuyefzd\",
\"from\": 6,
\"subject\": \"rcwtbydkwburactuswwjjfmoesjfypjsyxtvkcppvcftwlktobmzbzvtufzepxlldwruanvyzbvzlhjfwriwpphhikntqvcsszzspfk\",
\"level\": \"mwqohborvshsnvxixuihctegnhbylkeyjtsfiyvctalgggwoszdoppteceidzwieivaimnpfmhjwgosmrpsoipxrhbbrdmtgzyarsxxvyovhytvr\",
\"start\": \"tfhdilbvokxjecbvkgtaoqfkfrctnbcmshdamuxmrkjipmmcxhdierjtrquiorlopxjbavnohdonjbcuudidcjlqdluptazbvleswrnifgigbobbxjnqxjnpmlcelaqshruwmmkncwprqrtflwlnwj\",
\"end\": \"ntnmuxorjnsojlyedzawsmrnfvmherkdxnxatetzzvpnpxflsemtrdqbuhhrhbtjeecnkyapwlhlhhxaantnftfgzekcjzdufnglczprhmxddlllrowgsbsmglsetuutjhphsaefyybrndbznhhwsgojaxxyeujxbdvrxkpyfvbneukmxfpst\",
\"author\": \"ngizhehaadltcrofxxqracsqdpyzvkdkdikxunomqzthrgrtzdgjdmoagqusbzzwwuwfayimwymowweynusglnslvpjquktuottrdxfevsngghvnswmya\",
\"private\": 18,
\"userEmail\": \"yddwhgiggjqbbthxfdlexjonnczcwggswjsnepxkkatztjcoxhcwouqyvtlusdiddwqbenkcvkcwihbfbtdoxxerxnqtboroeiawdqjgsrslrjsgjkpglykoctpufumtiqagrkbnbvtdti\",
\"ltiClientId\": \"excepturi\"
}"
const url = new URL(
"http://localhost:8000/api/v1/go/lms/activities"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"query": "osacmdzagjfouhfmtbuyefzd",
"from": 6,
"subject": "rcwtbydkwburactuswwjjfmoesjfypjsyxtvkcppvcftwlktobmzbzvtufzepxlldwruanvyzbvzlhjfwriwpphhikntqvcsszzspfk",
"level": "mwqohborvshsnvxixuihctegnhbylkeyjtsfiyvctalgggwoszdoppteceidzwieivaimnpfmhjwgosmrpsoipxrhbbrdmtgzyarsxxvyovhytvr",
"start": "tfhdilbvokxjecbvkgtaoqfkfrctnbcmshdamuxmrkjipmmcxhdierjtrquiorlopxjbavnohdonjbcuudidcjlqdluptazbvleswrnifgigbobbxjnqxjnpmlcelaqshruwmmkncwprqrtflwlnwj",
"end": "ntnmuxorjnsojlyedzawsmrnfvmherkdxnxatetzzvpnpxflsemtrdqbuhhrhbtjeecnkyapwlhlhhxaantnftfgzekcjzdufnglczprhmxddlllrowgsbsmglsetuutjhphsaefyybrndbznhhwsgojaxxyeujxbdvrxkpyfvbneukmxfpst",
"author": "ngizhehaadltcrofxxqracsqdpyzvkdkdikxunomqzthrgrtzdgjdmoagqusbzzwwuwfayimwymowweynusglnslvpjquktuottrdxfevsngghvnswmya",
"private": 18,
"userEmail": "yddwhgiggjqbbthxfdlexjonnczcwggswjsnepxkkatztjcoxhcwouqyvtlusdiddwqbenkcvkcwihbfbtdoxxerxnqtboroeiawdqjgsrslrjsgjkpglykoctpufumtiqagrkbnbvtdti",
"ltiClientId": "excepturi"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/go/lms/activities',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'query' => 'osacmdzagjfouhfmtbuyefzd',
'from' => 6,
'subject' => 'rcwtbydkwburactuswwjjfmoesjfypjsyxtvkcppvcftwlktobmzbzvtufzepxlldwruanvyzbvzlhjfwriwpphhikntqvcsszzspfk',
'level' => 'mwqohborvshsnvxixuihctegnhbylkeyjtsfiyvctalgggwoszdoppteceidzwieivaimnpfmhjwgosmrpsoipxrhbbrdmtgzyarsxxvyovhytvr',
'start' => 'tfhdilbvokxjecbvkgtaoqfkfrctnbcmshdamuxmrkjipmmcxhdierjtrquiorlopxjbavnohdonjbcuudidcjlqdluptazbvleswrnifgigbobbxjnqxjnpmlcelaqshruwmmkncwprqrtflwlnwj',
'end' => 'ntnmuxorjnsojlyedzawsmrnfvmherkdxnxatetzzvpnpxflsemtrdqbuhhrhbtjeecnkyapwlhlhhxaantnftfgzekcjzdufnglczprhmxddlllrowgsbsmglsetuutjhphsaefyybrndbznhhwsgojaxxyeujxbdvrxkpyfvbneukmxfpst',
'author' => 'ngizhehaadltcrofxxqracsqdpyzvkdkdikxunomqzthrgrtzdgjdmoagqusbzzwwuwfayimwymowweynusglnslvpjquktuottrdxfevsngghvnswmya',
'private' => 18,
'userEmail' => 'yddwhgiggjqbbthxfdlexjonnczcwggswjsnepxkkatztjcoxhcwouqyvtlusdiddwqbenkcvkcwihbfbtdoxxerxnqtboroeiawdqjgsrslrjsgjkpglykoctpufumtiqagrkbnbvtdti',
'ltiClientId' => 'excepturi',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Received response:
Request failed with error:
Get organizations based on LMS/LTI settings
Get a list of organizations that belong to the same LMS/LTI settings
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/go/lms/organizations" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"userEmail\": \"alias\",
\"ltiClientId\": \"earum\",
\"lti_client_id\": 12
}"
const url = new URL(
"http://localhost:8000/api/v1/go/lms/organizations"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"userEmail": "alias",
"ltiClientId": "earum",
"lti_client_id": 12
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/go/lms/organizations',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'userEmail' => 'alias',
'ltiClientId' => 'earum',
'lti_client_id' => 12,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": [
{
"id": 1,
"name": "Curriki Studio",
"description": "Curriki Studio, default organization.",
"image": "/storage/organizations/PlPVBtEVfKEU8PBI1eknYgW3kjIf5YdpILBS0Yyr.png",
"favicon": "/storage/organizations/favicon/PlPVBtEVfKEU8PBI1eknYgW3kjIf5YdpILBS0Yyr.png",
"domain": "currikistudio"
}
]
}
Received response:
Request failed with error:
Get independent Activity based on user_id
Get independent Activity based on user_id of a user who launched the deeplink
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/go/lms/independent-activities" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"user_email\": \"somebody@somewhere.com\",
\"query\": \"activity title\",
\"size\": 10
}"
const url = new URL(
"http://localhost:8000/api/v1/go/lms/independent-activities"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"user_email": "somebody@somewhere.com",
"query": "activity title",
"size": 10
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/go/lms/independent-activities',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'user_email' => 'somebody@somewhere.com',
'query' => 'activity title',
'size' => 10,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (400):
{
"errors": [
"Could not find any independent activity. Please try again later."
]
}
Example response (200):
{
"independent-activity": {
"id": 9,
"title": "title",
"type": "h5p",
"content": "content",
"description": null,
"shared": null,
"order": 0,
"thumb_url": null,
"created_at": "2022-06-16T05:28:25.000000Z",
"updated_at": "2022-06-16T05:28:25.000000Z",
"gcr_activity_visibility": false,
"subjects": [
{
"id": 1,
"name": "Arts",
"order": null,
"organization_id": 63,
"created_at": "2022-04-21T12:41:25.000000Z",
"updated_at": null
}
],
"education_levels": [
{
"id": 1,
"name": "Preschool (Ages 0-4)",
"order": null,
"organization_id": 63,
"created_at": "2022-04-20T17:33:20.000000Z",
"updated_at": null
}
],
"author_tags": [
{
"id": 1,
"name": "Homework/Assignment",
"order": null,
"organization_id": 63,
"created_at": "2022-04-20T17:38:02.000000Z",
"updated_at": null
}
],
"source_type": null,
"source_url": null,
"organization_visibility_type_id": "1",
"status": null,
"status_text": null,
"indexing": null,
"indexing_text": "NOT REQUESTED",
"user": {
"id": 3,
"name": "Abby _",
"email": "abby@curriki.org",
"email_verified_at": "2020-09-11T23:52:44.000000Z",
"created_at": "2020-04-06T20:47:21.000000Z",
"updated_at": "2021-05-03T19:24:58.000000Z",
"first_name": "Abby",
"last_name": "_",
"organization_name": "",
"job_title": "",
"address": null,
"phone_number": null,
"organization_type": null,
"website": null,
"deleted_at": null,
"role": null,
"gapi_access_token": "{\"token_type\":\"Bearer\",\"access_token\":\"ya29.a0AfH6SMA9EL2ZjzTyPOIv3cgdm7VZ6JHJ3WHgqaaYZJY4X5mKhq417RjMKiCOS36tu1E3sOwNALtVBTamNE_XyNLeDak-xZuU4lAtLV1Ap0Gi19AN10vpj5Sg57AJ3KgrT4G3THYkGF3y0BZ4r38QhdAvydlpkfn_KwCZBQ\",\"scope\":\"email profile https:\\/\\/www.googleapis.com\\/auth\\/classroom.courses openid https:\\/\\/www.googleapis.com\\/auth\\/classroom.courses.readonly https:\\/\\/www.googleapis.com\\/auth\\/userinfo.email https:\\/\\/www.googleapis.com\\/auth\\/classroom.topics https:\\/\\/www.googleapis.com\\/auth\\/classroom.coursework.me https:\\/\\/www.googleapis.com\\/auth\\/classroom.coursework.students https:\\/\\/www.googleapis.com\\/auth\\/userinfo.profile\",\"login_hint\":\"AJDLj6LgfEhLCFgVLEzicO4eYW1YOkD2Ocu__Xw4RutMMX9v-B-BEo_pAMXjGBSn6gx8S9fToe9FpA7M_OwrbGosxzx3LBuA28SCV2kIKwPd_qmJ2ctCRP4\",\"expires_in\":3599,\"id_token\":\"eyJhbGciOiJSUzI1NiIsImtpZCI6IjRiODNmMTgwMjNhODU1NTg3Zjk0MmU3NTEwMjI1MTEyMDg4N2Y3MjUiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJhY2NvdW50cy5nb29nbGUuY29tIiwiYXpwIjoiODk4MTQzOTM5ODM0LTlpb3VpMmk5Z2hncm1jZ21ndGcwaDZyc2Y4M2QwdDBjLmFwcHMuZ29vZ2xldXNlcmNvbnRlbnQuY29tIiwiYXVkIjoiODk4MTQzOTM5ODM0LTlpb3VpMmk5Z2hncm1jZ21ndGcwaDZyc2Y4M2QwdDBjLmFwcHMuZ29vZ2xldXNlcmNvbnRlbnQuY29tIiwic3ViIjoiMTE0MzA3NzE2NTQwNTMzODE4OTQzIiwiaGQiOiJjdXJyaWtpLm9yZyIsImVtYWlsIjoiYWJieUBjdXJyaWtpLm9yZyIsImVtYWlsX3ZlcmlmaWVkIjp0cnVlLCJhdF9oYXNoIjoiSXBlejh3cm5uUmU3Y3p6U1NidFlJdyIsIm5hbWUiOiJBYmJ5IFJvc3MiLCJwaWN0dXJlIjoiaHR0cHM6Ly9saDMuZ29vZ2xldXNlcmNvbnRlbnQuY29tL2EtL0FPaDE0R2cwYUVyeDRwUE1ZOVRPQXJiZ01KX3ZybHdsSzB6SEdBNVp3dFlVPXM5Ni1jIiwiZ2l2ZW5fbmFtZSI6IkFiYnkiLCJmYW1pbHlfbmFtZSI6IlJvc3MiLCJsb2NhbGUiOiJlbiIsImlhdCI6MTYwMDM3NDQ4NywiZXhwIjoxNjAwMzc4MDg3LCJqdGkiOiI3NmUzNjU5M2I1NWEwYjhkMDBlZDZiODRmMmFmMmRiZmVkNDFhN2RhIn0.i9YToGr1CNLtk6zHX2f6dmP4PGB5ibyxFOFisPRvxe1YZvenGpyEh3MlSMkURvHzo2RGmYGkdhpJYHtn2b_TOqbsNsx61DUE4BTME5O_4-VcR-c_YDYFn6K3MpsrYLbSxDKTgdSJbA56B8-s726QzcFEixkU5mtaK5gbO4Zb32U94qF1_ziJ5XcEtaJt1kBY8oY15d3ubXJl-zLyh-fB9K4mqssqqWABbLAtJQycfx5x-9ks6iVHYXq-_tdnfadm7HBYROlcYzKc7VJkOAP5z-e05Zqx9C1NUXpW_-gFwiHazbC7_N_-UihSej2m3qULtIdgZMtT6fid4_LftXc38Q\",\"session_state\":{\"extraQueryParams\":{\"authuser\":\"1\"}},\"first_issued_at\":1600374485776,\"expires_at\":1600378084776,\"idpId\":\"google\"}",
"hubspot": true,
"subscribed": true,
"subscribed_ip": "192.168.96.10",
"membership_type_id": 2,
"temp_password": null
},
"h5p_content": null
}
}
Received response:
Request failed with error:
27. Admin/Queues
APIs for queues monitoring on admin panel.
Get All Jobs
Returns the pending or failed jobs paginated response with pagination links (DataTables are fully supported - All Params).
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/queue-monitor/jobs?filter=1&page=1&size=10" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/queue-monitor/jobs"
);
const params = {
"filter": "1",
"page": "1",
"size": "10",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/queue-monitor/jobs',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'filter'=> '1',
'page'=> '1',
'size'=> '10',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": [
{
"id": 128,
"payload": "CloneProject",
"queue": "default",
"time": "1 day ago",
"failed": false,
"attempt": 1,
"exception": "N/A"
},
{
"id": 129,
"payload": "CloneProject",
"queue": "default",
"time": "1 day ago",
"failed": false,
"attempt": 1,
"exception": "Unable to clone project"
}
],
"links": {
"first": "https://currikistudio.org/api/api/v1/admin/queue-monitor/jobs?page=1",
"last": "https://currikistudio.org/api/api/v1/admin/queue-monitor/jobs?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": null,
"last_page": 1,
"path": "https://currikistudio.org/api/api/v1/admin/queue-monitor/jobs",
"per_page": "2",
"to": null,
"total": 0
}
}
Received response:
Request failed with error:
Retry All Failed Jobs
Retry All Failed Jobs
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/queue-monitor/jobs/retry/all" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/queue-monitor/jobs/retry/all"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/queue-monitor/jobs/retry/all',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "All failed jobs has been pushed back onto the queue!"
}
Received response:
Request failed with error:
Delete All Failed Jobs
Delete All Failed Jobs
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/queue-monitor/jobs/forget/all" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/queue-monitor/jobs/forget/all"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/queue-monitor/jobs/forget/all',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "All failed jobs deleted successfully!"
}
Received response:
Request failed with error:
Retry Specific Failed Job
Retry failed job by ID.
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/queue-monitor/jobs/retry/1" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/queue-monitor/jobs/retry/1"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/queue-monitor/jobs/retry/1',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "The failed job [1] has been pushed back onto the queue!"
}
Received response:
Request failed with error:
Delete Specific Failed Job
Delete failed job by ID.
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/queue-monitor/jobs/forget/1" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/queue-monitor/jobs/forget/1"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/queue-monitor/jobs/forget/1',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "Failed job deleted successfully!"
}
Received response:
Request failed with error:
Get All Queues Logs
Returns the paginated response with pagination links (DataTables are fully supported - All Params).
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/queue-monitor?filter=1&page=1&size=10" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/queue-monitor"
);
const params = {
"filter": "1",
"page": "1",
"size": "10",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/queue-monitor',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'filter'=> '1',
'page'=> '1',
'size'=> '10',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": [
{
"id": 128,
"job_id": "376471",
"name": "CloneProject",
"queue": "default",
"started_at": "23 hours ago",
"is_finished": true,
"time_elapsed": "8.22 s",
"failed": false,
"attempt": 1,
"exception_message": null
},
{
"id": 127,
"job_id": "376470",
"name": "CloneActivity",
"queue": "default",
"started_at": "23 hours ago",
"is_finished": true,
"time_elapsed": "8.17 s",
"failed": false,
"attempt": 1,
"exception_message": null
}
],
"links": {
"first": "https://www.currikistudio.org/api/v1/admin/queue-monitor?page=1",
"last": "https://www.currikistudio.org/api/v1/admin/queue-monitor?page=9",
"prev": null,
"next": "https://www.currikistudio.org/api/v1/admin/queue-monitor?page=2"
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 9,
"path": "https://www.currikistudio.org/api/v1/admin/queue-monitor",
"per_page": "2",
"to": 2,
"total": 17
}
}
Received response:
Request failed with error:
28. Admin/Whiteboard
APIs for whiteboard.
Get Whiteboard.
Get Whiteboard.
Example request:
curl --request POST \
"http://localhost:8000/api/v1/get-whiteboard" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"org_id\": 7,
\"usr_id\": 17,
\"obj_id\": 17,
\"obj_type\": \"placeat\"
}"
const url = new URL(
"http://localhost:8000/api/v1/get-whiteboard"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"org_id": 7,
"usr_id": 17,
"obj_id": 17,
"obj_type": "placeat"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/get-whiteboard',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'org_id' => 7,
'usr_id' => 17,
'obj_id' => 17,
'obj_type' => 'placeat',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Received response:
Request failed with error:
29. Admin/LMS Settings
APIs for lms settings on admin panel.
Get All LMS Settings for listing.
Returns the paginated response with pagination links (DataTables are fully supported - All Params).
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/suborganizations/1/lms-settings?start=0&length=25" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/suborganizations/1/lms-settings"
);
const params = {
"start": "0",
"length": "25",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/suborganizations/1/lms-settings',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'start'=> '0',
'length'=> '25',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": [
{
"id": 1,
"lms_url": "https://canvas2.curriki.org",
"lms_access_token": "282tzGgLDzJOQA1mJPunRArzDvJFdUp4tLNiGqh8jhvQ7oJzPBhIaUp2h5LF6cXg",
"site_name": "Curriki Canvas Site #2",
"lms_name": "canvas",
"lms_access_key": null,
"lms_access_secret": null,
"description": "Curriki Canvas Site 2",
"user_id": 3,
"created_at": "2020-08-27T18:38:27.000000Z",
"updated_at": "2020-08-27T18:38:27.000000Z",
"deleted_at": null,
"lti_client_id": null,
"lms_login_id": null,
"user": {
"id": 3,
"name": "Abby _",
"email": "abby@curriki.org",
"email_verified_at": "2020-09-11T23:52:44.000000Z",
"created_at": "2020-04-06T20:47:21.000000Z",
"updated_at": "2020-10-19T10:44:21.000000Z",
"first_name": "Abby",
"last_name": "_",
"organization_name": "",
"job_title": "",
"address": null,
"phone_number": null,
"organization_type": null,
"website": null,
"deleted_at": null,
"role": null,
"gapi_access_token": "{\"token_type\":\"Bearer\",\"access_token\":\"ya29.a0AfH6SMA9EL2ZjzTyPOIv3cgdm7VZ6JHJ3WHgqaaYZJY4X5mKhq417RjMKiCOS36tu1E3sOwNALtVBTamNE_XyNLeDak-xZuU4lAtLV1Ap0Gi19AN10vpj5Sg57AJ3KgrT4G3THYkGF3y0BZ4r38QhdAvydlpkfn_KwCZBQ\",\"scope\":\"email profile https:\\/\\/www.googleapis.com\\/auth\\/classroom.courses openid https:\\/\\/www.googleapis.com\\/auth\\/classroom.courses.readonly https:\\/\\/www.googleapis.com\\/auth\\/userinfo.email https:\\/\\/www.googleapis.com\\/auth\\/classroom.topics https:\\/\\/www.googleapis.com\\/auth\\/classroom.coursework.me https:\\/\\/www.googleapis.com\\/auth\\/classroom.coursework.students https:\\/\\/www.googleapis.com\\/auth\\/userinfo.profile\",\"login_hint\":\"AJDLj6LgfEhLCFgVLEzicO4eYW1YOkD2Ocu__Xw4RutMMX9v-B-BEo_pAMXjGBSn6gx8S9fToe9FpA7M_OwrbGosxzx3LBuA28SCV2kIKwPd_qmJ2ctCRP4\",\"expires_in\":3599,\"id_token\":\"eyJhbGciOiJSUzI1NiIsImtpZCI6IjRiODNmMTgwMjNhODU1NTg3Zjk0MmU3NTEwMjI1MTEyMDg4N2Y3MjUiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJhY2NvdW50cy5nb29nbGUuY29tIiwiYXpwIjoiODk4MTQzOTM5ODM0LTlpb3VpMmk5Z2hncm1jZ21ndGcwaDZyc2Y4M2QwdDBjLmFwcHMuZ29vZ2xldXNlcmNvbnRlbnQuY29tIiwiYXVkIjoiODk4MTQzOTM5ODM0LTlpb3VpMmk5Z2hncm1jZ21ndGcwaDZyc2Y4M2QwdDBjLmFwcHMuZ29vZ2xldXNlcmNvbnRlbnQuY29tIiwic3ViIjoiMTE0MzA3NzE2NTQwNTMzODE4OTQzIiwiaGQiOiJjdXJyaWtpLm9yZyIsImVtYWlsIjoiYWJieUBjdXJyaWtpLm9yZyIsImVtYWlsX3ZlcmlmaWVkIjp0cnVlLCJhdF9oYXNoIjoiSXBlejh3cm5uUmU3Y3p6U1NidFlJdyIsIm5hbWUiOiJBYmJ5IFJvc3MiLCJwaWN0dXJlIjoiaHR0cHM6Ly9saDMuZ29vZ2xldXNlcmNvbnRlbnQuY29tL2EtL0FPaDE0R2cwYUVyeDRwUE1ZOVRPQXJiZ01KX3ZybHdsSzB6SEdBNVp3dFlVPXM5Ni1jIiwiZ2l2ZW5fbmFtZSI6IkFiYnkiLCJmYW1pbHlfbmFtZSI6IlJvc3MiLCJsb2NhbGUiOiJlbiIsImlhdCI6MTYwMDM3NDQ4NywiZXhwIjoxNjAwMzc4MDg3LCJqdGkiOiI3NmUzNjU5M2I1NWEwYjhkMDBlZDZiODRmMmFmMmRiZmVkNDFhN2RhIn0.i9YToGr1CNLtk6zHX2f6dmP4PGB5ibyxFOFisPRvxe1YZvenGpyEh3MlSMkURvHzo2RGmYGkdhpJYHtn2b_TOqbsNsx61DUE4BTME5O_4-VcR-c_YDYFn6K3MpsrYLbSxDKTgdSJbA56B8-s726QzcFEixkU5mtaK5gbO4Zb32U94qF1_ziJ5XcEtaJt1kBY8oY15d3ubXJl-zLyh-fB9K4mqssqqWABbLAtJQycfx5x-9ks6iVHYXq-_tdnfadm7HBYROlcYzKc7VJkOAP5z-e05Zqx9C1NUXpW_-gFwiHazbC7_N_-UihSej2m3qULtIdgZMtT6fid4_LftXc38Q\",\"session_state\":{\"extraQueryParams\":{\"authuser\":\"1\"}},\"first_issued_at\":1600374485776,\"expires_at\":1600378084776,\"idpId\":\"google\"}",
"hubspot": true,
"subscribed": true,
"subscribed_ip": "192.168.96.10",
"membership_type_id": 2,
"temp_password": null
},
"organization": {
"id": 1,
"name": "Curriki Studio",
"description": "Curriki Studio, default organization.",
"domain": "currikistudio",
"parent_id": null,
"image": null,
"created_at": null,
"updated_at": null,
"deleted_at": null,
"self_registration": false,
"account_id": "test123",
"api_key": "test",
"unit_path": "path"
}
},
{
"id": 2,
"lms_url": "https://canvas2.curriki.org",
"lms_access_token": "282tzGgLDzJOQA1mJPunRArzDvJFdUp4tLNiGqh8jhvQ7oJzPBhIaUp2h5LF6cXg",
"site_name": "Curriki Canvas Site #2",
"lms_name": "canvas",
"lms_access_key": null,
"lms_access_secret": null,
"description": "Curriki Canvas Site 2",
"user_id": 726,
"created_at": "2020-08-27T18:38:27.000000Z",
"updated_at": "2020-08-27T18:38:27.000000Z",
"deleted_at": null,
"lti_client_id": null,
"lms_login_id": null,
"user": {
"id": 726,
"name": "Ayesha Jaleel",
"email": "muhammadqamar111@gmail.com",
"email_verified_at": "2020-09-11T23:56:57.000000Z",
"created_at": "2020-08-05T15:45:11.000000Z",
"updated_at": "2020-09-18T15:40:02.000000Z",
"first_name": "ayesha",
"last_name": "jaleel",
"organization_name": "",
"job_title": "",
"address": null,
"phone_number": null,
"organization_type": null,
"website": null,
"deleted_at": null,
"role": null,
"gapi_access_token": "{\"token_type\":\"Bearer\",\"access_token\":\"ya29.a0AfH6SMAL6MLPZFPPhVHV_T0I4NoKnQvgjZde3NVh9EN_iEIr9hZWv9z1l7kg2gEDKL4ytQQPZc4vfjWwibQoFX35kfBZK8IW4oFkloCWGVjUiVQpIv-l3b0_WZA_vrBtiX__rDAbbcsK5f_qQ6Q46PlNYwZpFrSb5sg63w\",\"scope\":\"email profile https:\\/\\/www.googleapis.com\\/auth\\/userinfo.email https:\\/\\/www.googleapis.com\\/auth\\/classroom.coursework.me openid https:\\/\\/www.googleapis.com\\/auth\\/classroom.courses.readonly https:\\/\\/www.googleapis.com\\/auth\\/userinfo.profile https:\\/\\/www.googleapis.com\\/auth\\/classroom.courses https:\\/\\/www.googleapis.com\\/auth\\/classroom.coursework.students https:\\/\\/www.googleapis.com\\/auth\\/classroom.topics\",\"login_hint\":\"AJDLj6LgfEhLCFgVLEzicO4eYW1YEG1H6Z_EdBO9DcPh7Mh4zecJPEER1aZQlAuK9EACWTStds1zX0LniLDNBCxyVGW-meWH65rQ5EKowzaeeKw9Whrf0AI\",\"expires_in\":3599,\"id_token\":\"eyJhbGciOiJSUzI1NiIsImtpZCI6IjRiODNmMTgwMjNhODU1NTg3Zjk0MmU3NTEwMjI1MTEyMDg4N2Y3MjUiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJhY2NvdW50cy5nb29nbGUuY29tIiwiYXpwIjoiODk4MTQzOTM5ODM0LTlpb3VpMmk5Z2hncm1jZ21ndGcwaDZyc2Y4M2QwdDBjLmFwcHMuZ29vZ2xldXNlcmNvbnRlbnQuY29tIiwiYXVkIjoiODk4MTQzOTM5ODM0LTlpb3VpMmk5Z2hncm1jZ21ndGcwaDZyc2Y4M2QwdDBjLmFwcHMuZ29vZ2xldXNlcmNvbnRlbnQuY29tIiwic3ViIjoiMTA2NzA0NTczOTgxNzI2MTQ5NDI5IiwiZW1haWwiOiJtdWhhbW1hZHFhbWFyMTExQGdtYWlsLmNvbSIsImVtYWlsX3ZlcmlmaWVkIjp0cnVlLCJhdF9oYXNoIjoiS0JIT3JpdWJyQ0xyTVkzS01MN3lYdyIsIm5hbWUiOiJNdWhhbW1hZCBRYW1hciIsInBpY3R1cmUiOiJodHRwczovL2xoMy5nb29nbGV1c2VyY29udGVudC5jb20vYS0vQU9oMTRHaDNkcnhWRkQtb2xCRHRHc2JzWC1OOUJXdVNUYmlkcHpNTF9IUDkxZz1zOTYtYyIsImdpdmVuX25hbWUiOiJNdWhhbW1hZCIsImZhbWlseV9uYW1lIjoiUWFtYXIiLCJsb2NhbGUiOiJlbiIsImlhdCI6MTYwMDQ0MzYwMiwiZXhwIjoxNjAwNDQ3MjAyLCJqdGkiOiJhZjI1NWI0Y2I5Y2FiMTcwZDc4ZTIzMjljNDU5OTM3MjlmYTA4MTY2In0.JTX2lWgOkyPpdvhP4ueLDR6zw0cY4reT6lK4HgOFJR4sGdhfsclDqD1Tw0r6XfTQQ_AjMnYz9cn-xGH5QyRShu9gGizCt3MeDFU62QiV9wyAgsSeXBxaL0eVD4Jt8eWg0pduaga9424Ov7iEJYT6owtwlPO0FZi9pROjOA9vbj9GUXEEwr-Qejv9UKxKhiZbnQhpyk9PCs5K9eTTdTTFUbNennRb4ZLPKVAek1PXQBMkQBOiH7gf6ycPUd-4HI9wHgj4ARqMpKIGpx-L3J7lod94M-0yRnvlzklivJay9EFvY31xQw1EbB0RcTkMBO9QppIkDGQ9ZxWQyhP1gt4FRA\",\"session_state\":{\"extraQueryParams\":{\"authuser\":\"0\"}},\"first_issued_at\":1600443602681,\"expires_at\":1600447201681,\"idpId\":\"google\"}",
"hubspot": true,
"subscribed": true,
"subscribed_ip": "172.18.0.12",
"membership_type_id": 2,
"temp_password": null
},
"organization": {
"id": 1,
"name": "Curriki Studio",
"description": "Curriki Studio, default organization.",
"domain": "currikistudio",
"parent_id": null,
"image": null,
"created_at": null,
"updated_at": null,
"deleted_at": null,
"self_registration": false,
"account_id": "test123",
"api_key": "test",
"unit_path": "path"
}
}
],
"links": {
"first": "https://www.currikistudio.org/api/v1/admin/lms-settings?page=1",
"last": "https://www.currikistudio.org/api/v1/admin/lms-settings?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"path": "https://www.currikistudio.org/api/v1/admin/lms-settings",
"per_page": "25",
"to": 2,
"total": 2
}
}
Received response:
Request failed with error:
Create LMS Setting
Creates the new lms setting in database.
Example request:
curl --request POST \
"http://localhost:8000/api/v1/suborganizations/1/lms-settings" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"lms_url\": \"https:\\/\\/google.com\",
\"lms_access_token\": \"abcafdgd343asgretgdasgadsfsdfdasgdagsadf\",
\"site_name\": \"Moodle Curriki\",
\"lti_client_id\": \"1\",
\"lms_login_id\": \"1\",
\"user_id\": 1,
\"lms_name\": \"Moodle\",
\"lms_access_key\": \"fdaskfasdkjghadskljgh54r325\",
\"lms_access_secret\": \"fasdjhjke4wh54354326\",
\"description\": \"Create LMS Setting for providing access to Moodle.\",
\"published\": true,
\"organization_id\": \"aut\",
\"project_visibility\": true,
\"playlist_visibility\": true,
\"activity_visibility\": true
}"
const url = new URL(
"http://localhost:8000/api/v1/suborganizations/1/lms-settings"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"lms_url": "https:\/\/google.com",
"lms_access_token": "abcafdgd343asgretgdasgadsfsdfdasgdagsadf",
"site_name": "Moodle Curriki",
"lti_client_id": "1",
"lms_login_id": "1",
"user_id": 1,
"lms_name": "Moodle",
"lms_access_key": "fdaskfasdkjghadskljgh54r325",
"lms_access_secret": "fasdjhjke4wh54354326",
"description": "Create LMS Setting for providing access to Moodle.",
"published": true,
"organization_id": "aut",
"project_visibility": true,
"playlist_visibility": true,
"activity_visibility": true
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/suborganizations/1/lms-settings',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'lms_url' => 'https://google.com',
'lms_access_token' => 'abcafdgd343asgretgdasgadsfsdfdasgdagsadf',
'site_name' => 'Moodle Curriki',
'lti_client_id' => '1',
'lms_login_id' => '1',
'user_id' => 1,
'lms_name' => 'Moodle',
'lms_access_key' => 'fdaskfasdkjghadskljgh54r325',
'lms_access_secret' => 'fasdjhjke4wh54354326',
'description' => 'Create LMS Setting for providing access to Moodle.',
'published' => true,
'organization_id' => 'aut',
'project_visibility' => true,
'playlist_visibility' => true,
'activity_visibility' => true,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "Setting created successfully!",
"data": [
"Created Setting Data Array"
]
}
Example response (500):
{
"errors": [
"Unable to create setting, please try again later!"
]
}
Received response:
Request failed with error:
Get LMS Setting
Get the specified lms setting data.
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/suborganizations/1/lms-settings/1" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/suborganizations/1/lms-settings/1"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/suborganizations/1/lms-settings/1',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": {
"id": 1,
"lms_url": "https://canvas2.curriki.org",
"lms_access_token": "282tzGgLDzJOQA1mJPunRArzDvJFdUp4tLNiGqh8jhvQ7oJzPBhIaUp2h5LF6cXg",
"site_name": "Curriki Canvas Site #2",
"lti_client_id": null,
"lms_login_id": null,
"lms_name": "canvas",
"lms_access_key": null,
"lms_access_secret": null,
"description": "Curriki Canvas Site 2",
"user_id": 3,
"user": {
"id": 3,
"name": "Abby _",
"email": "abby@curriki.org",
"first_name": "Abby",
"last_name": "_",
"job_title": "",
"organization_type": null,
"is_admin": false,
"organization_name": ""
},
"organization": {
"id": 1,
"name": "Curriki Studio",
"description": "Curriki Studio, default organization.",
"domain": "currikistudio",
"parent_id": null,
"image": null,
"created_at": null,
"updated_at": null,
"deleted_at": null,
"self_registration": false,
"account_id": "test123",
"api_key": "test",
"unit_path": "path"
}
}
}
Received response:
Request failed with error:
Update LMS Setting
Updates the lms setting in database.
Example request:
curl --request PUT \
"http://localhost:8000/api/v1/suborganizations/1/lms-settings/1" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"lms_url\": \"https:\\/\\/google.com\",
\"lms_access_token\": \"abcafdgd343asgretgdasgadsfsdfdasgdagsadf\",
\"site_name\": \"Moodle Curriki\",
\"lti_client_id\": \"1\",
\"lms_login_id\": \"1\",
\"user_id\": 1,
\"lms_name\": \"Moodle\",
\"lms_access_key\": \"fdaskfasdkjghadskljgh54r325\",
\"lms_access_secret\": \"fasdjhjke4wh54354326\",
\"description\": \"Create LMS Setting for providing access to Moodle.\",
\"published\": false,
\"organization_id\": \"non\",
\"project_visibility\": false,
\"playlist_visibility\": true,
\"activity_visibility\": true
}"
const url = new URL(
"http://localhost:8000/api/v1/suborganizations/1/lms-settings/1"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"lms_url": "https:\/\/google.com",
"lms_access_token": "abcafdgd343asgretgdasgadsfsdfdasgdagsadf",
"site_name": "Moodle Curriki",
"lti_client_id": "1",
"lms_login_id": "1",
"user_id": 1,
"lms_name": "Moodle",
"lms_access_key": "fdaskfasdkjghadskljgh54r325",
"lms_access_secret": "fasdjhjke4wh54354326",
"description": "Create LMS Setting for providing access to Moodle.",
"published": false,
"organization_id": "non",
"project_visibility": false,
"playlist_visibility": true,
"activity_visibility": true
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->put(
'http://localhost:8000/api/v1/suborganizations/1/lms-settings/1',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'lms_url' => 'https://google.com',
'lms_access_token' => 'abcafdgd343asgretgdasgadsfsdfdasgdagsadf',
'site_name' => 'Moodle Curriki',
'lti_client_id' => '1',
'lms_login_id' => '1',
'user_id' => 1,
'lms_name' => 'Moodle',
'lms_access_key' => 'fdaskfasdkjghadskljgh54r325',
'lms_access_secret' => 'fasdjhjke4wh54354326',
'description' => 'Create LMS Setting for providing access to Moodle.',
'published' => false,
'organization_id' => 'non',
'project_visibility' => false,
'playlist_visibility' => true,
'activity_visibility' => true,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "LMS setting data updated successfully!",
"data": [
"Updated LMS setting data array"
]
}
Example response (500):
{
"errors": [
"Unable to update LMS setting, please try again later."
]
}
Received response:
Request failed with error:
Delete LMS Setting
Deletes the lms setting from database.
Example request:
curl --request DELETE \
"http://localhost:8000/api/v1/suborganizations/1/lms-settings/1" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/suborganizations/1/lms-settings/1"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->delete(
'http://localhost:8000/api/v1/suborganizations/1/lms-settings/1',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "LMS setting deleted successfully!",
}
Example response (500):
{
"errors": [
"Unable to delete LMS setting, please try again later."
]
}
Received response:
Request failed with error:
30. User LMS Settings
APIs for LMS settings used for publishing
Authenticated user LMS settings
Display a listing of the LMS settings for authenticated user
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/go/lms-settings/user/me" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/go/lms-settings/user/me"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/go/lms-settings/user/me',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": {
"settings": [
{
"id": 1,
"lms_url": "https://moodle39.curriki.org",
"lms_access_token": "bf06028490c01e1f4538f6206055bc00",
"site_name": "Moodle Demo",
"lms_name": "moodle",
"lms_access_key": "",
"lms_access_secret": "",
"description": "Moodle Demo",
"user_id": 1,
"lti_client_id": null,
"created_at": "2020-08-27T18:35:17.000000Z",
"updated_at": "2020-08-27T18:35:17.000000Z"
},
{
"id": 2,
"lms_url": "https://moodle39.curriki.org",
"lms_access_token": "bf06028490c01e1f4538f6206055bc01",
"site_name": "Moodle Demo",
"lms_name": "moodle",
"lms_access_key": "",
"lms_access_secret": "",
"description": "Moodle Demo",
"user_id": 1,
"lti_client_id": null,
"created_at": "2020-08-28T18:35:17.000000Z",
"updated_at": "2020-08-28T18:35:17.000000Z"
}
]
}
}
Received response:
Request failed with error:
Endpoints
Authenticate the request for channel access.
Example request:
curl --request GET \
--get "http://localhost:8000/api/broadcasting/auth" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/broadcasting/auth"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/broadcasting/auth',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (500):
Show headers
cache-control: no-cache, private
content-type: application/json
{
"message": "Unable to read key from file file://D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\storage\\oauth-public.key",
"exception": "LogicException",
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\league\\oauth2-server\\src\\CryptKey.php",
"line": 67,
"trace": [
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\passport\\src\\PassportServiceProvider.php",
"line": 275,
"function": "__construct",
"class": "League\\OAuth2\\Server\\CryptKey",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\passport\\src\\PassportServiceProvider.php",
"line": 256,
"function": "makeCryptKey",
"class": "Laravel\\Passport\\PassportServiceProvider",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 873,
"function": "Laravel\\Passport\\{closure}",
"class": "Laravel\\Passport\\PassportServiceProvider",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 758,
"function": "build",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Application.php",
"line": 851,
"function": "resolve",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 694,
"function": "resolve",
"class": "Illuminate\\Foundation\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Application.php",
"line": 836,
"function": "make",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\passport\\src\\PassportServiceProvider.php",
"line": 304,
"function": "make",
"class": "Illuminate\\Foundation\\Application",
"type": "->"
},
{
"function": "Laravel\\Passport\\{closure}",
"class": "Laravel\\Passport\\PassportServiceProvider",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\RequestGuard.php",
"line": 58,
"function": "call_user_func"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\GuardHelpers.php",
"line": 60,
"function": "user",
"class": "Illuminate\\Auth\\RequestGuard",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\Middleware\\Authenticate.php",
"line": 63,
"function": "check",
"class": "Illuminate\\Auth\\RequestGuard",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\Middleware\\Authenticate.php",
"line": 42,
"function": "authenticate",
"class": "Illuminate\\Auth\\Middleware\\Authenticate",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Auth\\Middleware\\Authenticate",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 103,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 723,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 698,
"function": "runRouteWithinStack",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 662,
"function": "runRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 651,
"function": "dispatchToRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 167,
"function": "dispatch",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 128,
"function": "Illuminate\\Foundation\\Http\\{closure}",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull.php",
"line": 31,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TrimStrings.php",
"line": 40,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TrimStrings",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize.php",
"line": 27,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance.php",
"line": 86,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\app\\Http\\Middleware\\Cors.php",
"line": 40,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "App\\Http\\Middleware\\Cors",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\fideloper\\proxy\\src\\TrustProxies.php",
"line": 57,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Fideloper\\Proxy\\TrustProxies",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 103,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 142,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 111,
"function": "sendRequestThroughRouter",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 299,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 287,
"function": "callLaravelOrLumenRoute",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 89,
"function": "makeApiCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 45,
"function": "makeResponseCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 35,
"function": "makeResponseCallIfConditionsPass",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 222,
"function": "__invoke",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 179,
"function": "iterateThroughStrategies",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 116,
"function": "fetchResponses",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 123,
"function": "processRoute",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 80,
"function": "extractEndpointsInfoFromLaravelApp",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 56,
"function": "extractEndpointsInfoAndWriteToDisk",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Commands\\GenerateDocumentation.php",
"line": 55,
"function": "get",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 36,
"function": "handle",
"class": "Knuckles\\Scribe\\Commands\\GenerateDocumentation",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Util.php",
"line": 40,
"function": "Illuminate\\Container\\{closure}",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 93,
"function": "unwrapIfClosure",
"class": "Illuminate\\Container\\Util",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 37,
"function": "callBoundMethod",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 653,
"function": "call",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
"line": 136,
"function": "call",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Command\\Command.php",
"line": 298,
"function": "execute",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
"line": 121,
"function": "run",
"class": "Symfony\\Component\\Console\\Command\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 1040,
"function": "run",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 301,
"function": "doRunCommand",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 171,
"function": "doRun",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Application.php",
"line": 94,
"function": "run",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Console\\Kernel.php",
"line": 129,
"function": "run",
"class": "Illuminate\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\artisan",
"line": 37,
"function": "handle",
"class": "Illuminate\\Foundation\\Console\\Kernel",
"type": "->"
}
]
}
Received response:
Request failed with error:
Save Access Token
Save MS Graph api access token in the database.
Example request:
curl --request GET \
--get "http://localhost:8000/api/microsoft-team/get-access-token" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"code\": \"cupiditate\"
}"
const url = new URL(
"http://localhost:8000/api/microsoft-team/get-access-token"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"code": "cupiditate"
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/microsoft-team/get-access-token',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'code' => 'cupiditate',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "Access token has been saved successfully."
}
Example response (500):
{
"errors": [
"Failed to save the token."
]
}
Received response:
Request failed with error:
GET api/v1/activities/{activity_id}/log-view
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/activities/761/log-view" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/activities/761/log-view"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/activities/761/log-view',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
{
"message": "No query results for model [App\\Models\\Activity] 1",
"exception": "Symfony\\Component\\HttpKernel\\Exception\\NotFoundHttpException",
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Exceptions\\Handler.php",
"line": 385,
"trace": [
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Exceptions\\Handler.php",
"line": 332,
"function": "prepareException",
"class": "Illuminate\\Foundation\\Exceptions\\Handler",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\app\\Exceptions\\Handler.php",
"line": 53,
"function": "render",
"class": "Illuminate\\Foundation\\Exceptions\\Handler",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\nunomaduro\\collision\\src\\Adapters\\Laravel\\ExceptionHandler.php",
"line": 54,
"function": "render",
"class": "App\\Exceptions\\Handler",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Pipeline.php",
"line": 51,
"function": "render",
"class": "NunoMaduro\\Collision\\Adapters\\Laravel\\ExceptionHandler",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 172,
"function": "handleException",
"class": "Illuminate\\Routing\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 103,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 723,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 698,
"function": "runRouteWithinStack",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 662,
"function": "runRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 651,
"function": "dispatchToRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 167,
"function": "dispatch",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 128,
"function": "Illuminate\\Foundation\\Http\\{closure}",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull.php",
"line": 31,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TrimStrings.php",
"line": 40,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TrimStrings",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize.php",
"line": 27,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance.php",
"line": 86,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\app\\Http\\Middleware\\Cors.php",
"line": 40,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "App\\Http\\Middleware\\Cors",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\fideloper\\proxy\\src\\TrustProxies.php",
"line": 57,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Fideloper\\Proxy\\TrustProxies",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 103,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 142,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 111,
"function": "sendRequestThroughRouter",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 299,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 287,
"function": "callLaravelOrLumenRoute",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 89,
"function": "makeApiCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 45,
"function": "makeResponseCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 35,
"function": "makeResponseCallIfConditionsPass",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 222,
"function": "__invoke",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 179,
"function": "iterateThroughStrategies",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 116,
"function": "fetchResponses",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 123,
"function": "processRoute",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 80,
"function": "extractEndpointsInfoFromLaravelApp",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 56,
"function": "extractEndpointsInfoAndWriteToDisk",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Commands\\GenerateDocumentation.php",
"line": 55,
"function": "get",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 36,
"function": "handle",
"class": "Knuckles\\Scribe\\Commands\\GenerateDocumentation",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Util.php",
"line": 40,
"function": "Illuminate\\Container\\{closure}",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 93,
"function": "unwrapIfClosure",
"class": "Illuminate\\Container\\Util",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 37,
"function": "callBoundMethod",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 653,
"function": "call",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
"line": 136,
"function": "call",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Command\\Command.php",
"line": 298,
"function": "execute",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
"line": 121,
"function": "run",
"class": "Symfony\\Component\\Console\\Command\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 1040,
"function": "run",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 301,
"function": "doRunCommand",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 171,
"function": "doRun",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Application.php",
"line": 94,
"function": "run",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Console\\Kernel.php",
"line": 129,
"function": "run",
"class": "Illuminate\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\artisan",
"line": 37,
"function": "handle",
"class": "Illuminate\\Foundation\\Console\\Kernel",
"type": "->"
}
]
}
Received response:
Request failed with error:
GET api/v1/playlists/{playlist_id}/log-view
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/playlists/186/log-view" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/playlists/186/log-view"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/playlists/186/log-view',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
{
"message": "No query results for model [App\\Models\\Playlist] 1",
"exception": "Symfony\\Component\\HttpKernel\\Exception\\NotFoundHttpException",
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Exceptions\\Handler.php",
"line": 385,
"trace": [
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Exceptions\\Handler.php",
"line": 332,
"function": "prepareException",
"class": "Illuminate\\Foundation\\Exceptions\\Handler",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\app\\Exceptions\\Handler.php",
"line": 53,
"function": "render",
"class": "Illuminate\\Foundation\\Exceptions\\Handler",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\nunomaduro\\collision\\src\\Adapters\\Laravel\\ExceptionHandler.php",
"line": 54,
"function": "render",
"class": "App\\Exceptions\\Handler",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Pipeline.php",
"line": 51,
"function": "render",
"class": "NunoMaduro\\Collision\\Adapters\\Laravel\\ExceptionHandler",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 172,
"function": "handleException",
"class": "Illuminate\\Routing\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 103,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 723,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 698,
"function": "runRouteWithinStack",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 662,
"function": "runRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 651,
"function": "dispatchToRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 167,
"function": "dispatch",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 128,
"function": "Illuminate\\Foundation\\Http\\{closure}",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull.php",
"line": 31,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TrimStrings.php",
"line": 40,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TrimStrings",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize.php",
"line": 27,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance.php",
"line": 86,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\app\\Http\\Middleware\\Cors.php",
"line": 40,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "App\\Http\\Middleware\\Cors",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\fideloper\\proxy\\src\\TrustProxies.php",
"line": 57,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Fideloper\\Proxy\\TrustProxies",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 103,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 142,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 111,
"function": "sendRequestThroughRouter",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 299,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 287,
"function": "callLaravelOrLumenRoute",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 89,
"function": "makeApiCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 45,
"function": "makeResponseCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 35,
"function": "makeResponseCallIfConditionsPass",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 222,
"function": "__invoke",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 179,
"function": "iterateThroughStrategies",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 116,
"function": "fetchResponses",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 123,
"function": "processRoute",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 80,
"function": "extractEndpointsInfoFromLaravelApp",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 56,
"function": "extractEndpointsInfoAndWriteToDisk",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Commands\\GenerateDocumentation.php",
"line": 55,
"function": "get",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 36,
"function": "handle",
"class": "Knuckles\\Scribe\\Commands\\GenerateDocumentation",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Util.php",
"line": 40,
"function": "Illuminate\\Container\\{closure}",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 93,
"function": "unwrapIfClosure",
"class": "Illuminate\\Container\\Util",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 37,
"function": "callBoundMethod",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 653,
"function": "call",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
"line": 136,
"function": "call",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Command\\Command.php",
"line": 298,
"function": "execute",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
"line": 121,
"function": "run",
"class": "Symfony\\Component\\Console\\Command\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 1040,
"function": "run",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 301,
"function": "doRunCommand",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 171,
"function": "doRun",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Application.php",
"line": 94,
"function": "run",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Console\\Kernel.php",
"line": 129,
"function": "run",
"class": "Illuminate\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\artisan",
"line": 37,
"function": "handle",
"class": "Illuminate\\Foundation\\Console\\Kernel",
"type": "->"
}
]
}
Received response:
Request failed with error:
GET api/v1/projects/{project_id}/log-view
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/projects/3024/log-view" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/projects/3024/log-view"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/projects/3024/log-view',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
{
"message": "No query results for model [App\\Models\\Project] 1",
"exception": "Symfony\\Component\\HttpKernel\\Exception\\NotFoundHttpException",
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Exceptions\\Handler.php",
"line": 385,
"trace": [
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Exceptions\\Handler.php",
"line": 332,
"function": "prepareException",
"class": "Illuminate\\Foundation\\Exceptions\\Handler",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\app\\Exceptions\\Handler.php",
"line": 53,
"function": "render",
"class": "Illuminate\\Foundation\\Exceptions\\Handler",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\nunomaduro\\collision\\src\\Adapters\\Laravel\\ExceptionHandler.php",
"line": 54,
"function": "render",
"class": "App\\Exceptions\\Handler",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Pipeline.php",
"line": 51,
"function": "render",
"class": "NunoMaduro\\Collision\\Adapters\\Laravel\\ExceptionHandler",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 172,
"function": "handleException",
"class": "Illuminate\\Routing\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 103,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 723,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 698,
"function": "runRouteWithinStack",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 662,
"function": "runRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 651,
"function": "dispatchToRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 167,
"function": "dispatch",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 128,
"function": "Illuminate\\Foundation\\Http\\{closure}",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull.php",
"line": 31,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TrimStrings.php",
"line": 40,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TrimStrings",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize.php",
"line": 27,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance.php",
"line": 86,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\app\\Http\\Middleware\\Cors.php",
"line": 40,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "App\\Http\\Middleware\\Cors",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\fideloper\\proxy\\src\\TrustProxies.php",
"line": 57,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Fideloper\\Proxy\\TrustProxies",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 103,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 142,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 111,
"function": "sendRequestThroughRouter",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 299,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 287,
"function": "callLaravelOrLumenRoute",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 89,
"function": "makeApiCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 45,
"function": "makeResponseCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 35,
"function": "makeResponseCallIfConditionsPass",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 222,
"function": "__invoke",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 179,
"function": "iterateThroughStrategies",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 116,
"function": "fetchResponses",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 123,
"function": "processRoute",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 80,
"function": "extractEndpointsInfoFromLaravelApp",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 56,
"function": "extractEndpointsInfoAndWriteToDisk",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Commands\\GenerateDocumentation.php",
"line": 55,
"function": "get",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 36,
"function": "handle",
"class": "Knuckles\\Scribe\\Commands\\GenerateDocumentation",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Util.php",
"line": 40,
"function": "Illuminate\\Container\\{closure}",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 93,
"function": "unwrapIfClosure",
"class": "Illuminate\\Container\\Util",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 37,
"function": "callBoundMethod",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 653,
"function": "call",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
"line": 136,
"function": "call",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Command\\Command.php",
"line": 298,
"function": "execute",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
"line": 121,
"function": "run",
"class": "Symfony\\Component\\Console\\Command\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 1040,
"function": "run",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 301,
"function": "doRunCommand",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 171,
"function": "doRun",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Application.php",
"line": 94,
"function": "run",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Console\\Kernel.php",
"line": 129,
"function": "run",
"class": "Illuminate\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\artisan",
"line": 37,
"function": "handle",
"class": "Illuminate\\Foundation\\Console\\Kernel",
"type": "->"
}
]
}
Received response:
Request failed with error:
GET api/v1/organization-types
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/organization-types" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/organization-types"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/organization-types',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
{
"data": [
{
"id": 1,
"name": "k12",
"label": "K-12",
"order": 0
},
{
"id": 2,
"name": "highered",
"label": "Higher Education",
"order": 1
},
{
"id": 3,
"name": "businesscorp",
"label": "Business/Corporation",
"order": 2
},
{
"id": 4,
"name": "nonprofit",
"label": "Nonprofit",
"order": 3
},
{
"id": 5,
"name": "govedu",
"label": "Government/EDU",
"order": 4
},
{
"id": 6,
"name": "other",
"label": "Other",
"order": 5
}
]
}
Received response:
Request failed with error:
GET api/v1/users/me/redeem/{offerName}
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/users/me/redeem/ut" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/users/me/redeem/ut"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/users/me/redeem/ut',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (500):
Show headers
cache-control: no-cache, private
content-type: application/json
{
"message": "Unable to read key from file file://D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\storage\\oauth-public.key",
"exception": "LogicException",
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\league\\oauth2-server\\src\\CryptKey.php",
"line": 67,
"trace": [
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\passport\\src\\PassportServiceProvider.php",
"line": 275,
"function": "__construct",
"class": "League\\OAuth2\\Server\\CryptKey",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\passport\\src\\PassportServiceProvider.php",
"line": 256,
"function": "makeCryptKey",
"class": "Laravel\\Passport\\PassportServiceProvider",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 873,
"function": "Laravel\\Passport\\{closure}",
"class": "Laravel\\Passport\\PassportServiceProvider",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 758,
"function": "build",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Application.php",
"line": 851,
"function": "resolve",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 694,
"function": "resolve",
"class": "Illuminate\\Foundation\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Application.php",
"line": 836,
"function": "make",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\passport\\src\\PassportServiceProvider.php",
"line": 304,
"function": "make",
"class": "Illuminate\\Foundation\\Application",
"type": "->"
},
{
"function": "Laravel\\Passport\\{closure}",
"class": "Laravel\\Passport\\PassportServiceProvider",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\RequestGuard.php",
"line": 58,
"function": "call_user_func"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\GuardHelpers.php",
"line": 60,
"function": "user",
"class": "Illuminate\\Auth\\RequestGuard",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\Middleware\\Authenticate.php",
"line": 63,
"function": "check",
"class": "Illuminate\\Auth\\RequestGuard",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\Middleware\\Authenticate.php",
"line": 42,
"function": "authenticate",
"class": "Illuminate\\Auth\\Middleware\\Authenticate",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Auth\\Middleware\\Authenticate",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 103,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 723,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 698,
"function": "runRouteWithinStack",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 662,
"function": "runRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 651,
"function": "dispatchToRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 167,
"function": "dispatch",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 128,
"function": "Illuminate\\Foundation\\Http\\{closure}",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull.php",
"line": 31,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TrimStrings.php",
"line": 40,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TrimStrings",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize.php",
"line": 27,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance.php",
"line": 86,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\app\\Http\\Middleware\\Cors.php",
"line": 40,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "App\\Http\\Middleware\\Cors",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\fideloper\\proxy\\src\\TrustProxies.php",
"line": 57,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Fideloper\\Proxy\\TrustProxies",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 103,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 142,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 111,
"function": "sendRequestThroughRouter",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 299,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 287,
"function": "callLaravelOrLumenRoute",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 89,
"function": "makeApiCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 45,
"function": "makeResponseCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 35,
"function": "makeResponseCallIfConditionsPass",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 222,
"function": "__invoke",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 179,
"function": "iterateThroughStrategies",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 116,
"function": "fetchResponses",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 123,
"function": "processRoute",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 80,
"function": "extractEndpointsInfoFromLaravelApp",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 56,
"function": "extractEndpointsInfoAndWriteToDisk",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Commands\\GenerateDocumentation.php",
"line": 55,
"function": "get",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 36,
"function": "handle",
"class": "Knuckles\\Scribe\\Commands\\GenerateDocumentation",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Util.php",
"line": 40,
"function": "Illuminate\\Container\\{closure}",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 93,
"function": "unwrapIfClosure",
"class": "Illuminate\\Container\\Util",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 37,
"function": "callBoundMethod",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 653,
"function": "call",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
"line": 136,
"function": "call",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Command\\Command.php",
"line": 298,
"function": "execute",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
"line": 121,
"function": "run",
"class": "Symfony\\Component\\Console\\Command\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 1040,
"function": "run",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 301,
"function": "doRunCommand",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 171,
"function": "doRun",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Application.php",
"line": 94,
"function": "run",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Console\\Kernel.php",
"line": 129,
"function": "run",
"class": "Illuminate\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\artisan",
"line": 37,
"function": "handle",
"class": "Illuminate\\Foundation\\Console\\Kernel",
"type": "->"
}
]
}
Received response:
Request failed with error:
Invite Group Member
Invite a group member while creating a group.
Example request:
curl --request POST \
"http://localhost:8000/api/v1/groups/invite" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"id\": 1,
\"email\": \"abby@curriki.org\"
}"
const url = new URL(
"http://localhost:8000/api/v1/groups/invite"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"id": 1,
"email": "abby@curriki.org"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/groups/invite',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'id' => 1.0,
'email' => 'abby@curriki.org',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"invited": true
}
Example response (400):
{
"invited": false
}
Received response:
Request failed with error:
Invite Group Member
Invite a group member to the group.
Example request:
curl --request POST \
"http://localhost:8000/api/v1/groups/16/invite-member" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"email\": \"abby@curriki.org\"
}"
const url = new URL(
"http://localhost:8000/api/v1/groups/16/invite-member"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"email": "abby@curriki.org"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/groups/16/invite-member',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'email' => 'abby@curriki.org',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "User has been invited to the group successfully."
}
Example response (403):
{
"errors": [
"You do not have permission to invite user to the group."
]
}
Example response (500):
{
"errors": [
"Failed to invite user to the group."
]
}
Received response:
Request failed with error:
Invite Group Members
Invite a bundle of users to the group.
Example request:
curl --request POST \
"http://localhost:8000/api/v1/suborganization/1/groups/1/invite-members" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"users\": [
\"doloribus\"
],
\"note\": \"mollitia\"
}"
const url = new URL(
"http://localhost:8000/api/v1/suborganization/1/groups/1/invite-members"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"users": [
"doloribus"
],
"note": "mollitia"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/suborganization/1/groups/1/invite-members',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'users' => [
'doloribus',
],
'note' => 'mollitia',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "Users have been invited to the group successfully."
}
Example response (403):
{
"errors": [
"You do not have permission to invite users to the group."
]
}
Example response (500):
{
"errors": [
"Failed to invite users to the group."
]
}
Received response:
Request failed with error:
Remove Group Member
remove a group member to the group.
Example request:
curl --request POST \
"http://localhost:8000/api/v1/groups/18/remove" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"id\": 1,
\"email\": \"amya79@example.com\"
}"
const url = new URL(
"http://localhost:8000/api/v1/groups/18/remove"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"id": 1,
"email": "amya79@example.com"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/groups/18/remove',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'id' => 1,
'email' => 'amya79@example.com',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "User has been removed from the group successfully."
}
Example response (403):
{
"errors": [
"You do not have permission to remove user from the group."
]
}
Example response (500):
{
"errors": [
"Failed to remove user from the group."
]
}
Received response:
Request failed with error:
Add Projects to the Group
Add projects to the group.
Example request:
curl --request POST \
"http://localhost:8000/api/v1/groups/12/add-projects" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"ids\": [
1
]
}"
const url = new URL(
"http://localhost:8000/api/v1/groups/12/add-projects"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"ids": [
1
]
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/groups/12/add-projects',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'ids' => [
1,
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "Projects have been added to the group successfully."
}
Example response (403):
{
"errors": [
"You do not have permission to add projects to the group."
]
}
Example response (500):
{
"errors": [
"Failed to add projects to the group."
]
}
Received response:
Request failed with error:
Remove Project from the Group
Remove a project from the group.
Example request:
curl --request POST \
"http://localhost:8000/api/v1/groups/14/remove-project" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"id\": 1
}"
const url = new URL(
"http://localhost:8000/api/v1/groups/14/remove-project"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"id": 1
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/groups/14/remove-project',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'id' => 1,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "Project has been removed from the group successfully."
}
Example response (403):
{
"errors": [
"You do not have permission to remove project from the group."
]
}
Example response (500):
{
"errors": [
"Failed to remove project from the group."
]
}
Received response:
Request failed with error:
Add Members to the Group Project
Add members to a specified project of specified group.
Example request:
curl --request POST \
"http://localhost:8000/api/v1/groups/9/projects/3024/add-members" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"ids\": [
1
]
}"
const url = new URL(
"http://localhost:8000/api/v1/groups/9/projects/3024/add-members"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"ids": [
1
]
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/groups/9/projects/3024/add-members',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'ids' => [
1,
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "Members have been added to the group project successfully."
}
Example response (403):
{
"errors": [
"You do not have permission to add members to the group project."
]
}
Example response (500):
{
"errors": [
"Failed to add members to the group project."
]
}
Received response:
Request failed with error:
Remove Member from the Group Project
Remove member from a specified project of specified group.
Example request:
curl --request POST \
"http://localhost:8000/api/v1/groups/18/projects/3024/remove-member" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"id\": 1,
\"email\": \"mjacobi@example.org\"
}"
const url = new URL(
"http://localhost:8000/api/v1/groups/18/projects/3024/remove-member"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"id": 1,
"email": "mjacobi@example.org"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/groups/18/projects/3024/remove-member',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'id' => 1,
'email' => 'mjacobi@example.org',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "Member has been removed from the group project successfully."
}
Example response (403):
{
"errors": [
"You do not have permission to remove member from the group project."
]
}
Example response (500):
{
"errors": [
"Failed to remove member from the group project."
]
}
Received response:
Request failed with error:
Get All Organization Groups
Get a list of the groups of an organization.
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/suborganization/1/get-groups" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/suborganization/1/get-groups"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/suborganization/1/get-groups',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"groups": [
{
"id": 1,
"name": "Test Group",
"description": "This is a test group.",
"thumb_url": "https://images.pexels.com/photos/2832382",
"shared": true,
"starter_project": null,
"is_public": true,
"created_at": "2020-09-06T19:21:08.000000Z",
"updated_at": "2020-09-06T19:21:08.000000Z"
},
{
"id": 2,
"name": "Math Group",
"description": "This is a test math group.",
"thumb_url": "https://images.pexels.com/photos/2832384",
"shared": true,
"starter_project": null,
"is_public": true,
"created_at": "2020-09-07T19:21:08.000000Z",
"updated_at": "2020-09-07T19:21:08.000000Z"
}
]
}
Received response:
Request failed with error:
Get All Groups
Get a list of the groups of a user.
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/suborganization/1/groups" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/suborganization/1/groups"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/suborganization/1/groups',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"groups": [
{
"id": 1,
"name": "Test Group",
"description": "This is a test group.",
"thumb_url": "https://images.pexels.com/photos/2832382",
"shared": true,
"starter_project": null,
"is_public": true,
"created_at": "2020-09-06T19:21:08.000000Z",
"updated_at": "2020-09-06T19:21:08.000000Z"
},
{
"id": 2,
"name": "Math Group",
"description": "This is a test math group.",
"thumb_url": "https://images.pexels.com/photos/2832384",
"shared": true,
"starter_project": null,
"is_public": true,
"created_at": "2020-09-07T19:21:08.000000Z",
"updated_at": "2020-09-07T19:21:08.000000Z"
}
]
}
Received response:
Request failed with error:
Create Group
Create a new group in storage for a user.
Example request:
curl --request POST \
"http://localhost:8000/api/v1/suborganization/1/groups" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"organization_id\": 3,
\"name\": \"Test Group\",
\"description\": \"This is a test group.\",
\"users\": [
\"recusandae\"
],
\"projects\": [
\"nemo\"
],
\"note\": \"\"
}"
const url = new URL(
"http://localhost:8000/api/v1/suborganization/1/groups"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"organization_id": 3,
"name": "Test Group",
"description": "This is a test group.",
"users": [
"recusandae"
],
"projects": [
"nemo"
],
"note": ""
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/suborganization/1/groups',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'organization_id' => 3,
'name' => 'Test Group',
'description' => 'This is a test group.',
'users' => [
'recusandae',
],
'projects' => [
'nemo',
],
'note' => '',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (500):
{
"errors": [
"Could not create group. Please try again later."
]
}
Example response (201):
{
"groups": [
{
"id": 1,
"name": "Test Group",
"description": "This is a test group.",
"thumb_url": "https://images.pexels.com/photos/2832382",
"shared": true,
"starter_project": null,
"is_public": true,
"created_at": "2020-09-06T19:21:08.000000Z",
"updated_at": "2020-09-06T19:21:08.000000Z"
},
{
"id": 2,
"name": "Math Group",
"description": "This is a test math group.",
"thumb_url": "https://images.pexels.com/photos/2832384",
"shared": true,
"starter_project": null,
"is_public": true,
"created_at": "2020-09-07T19:21:08.000000Z",
"updated_at": "2020-09-07T19:21:08.000000Z"
}
]
}
Received response:
Request failed with error:
Get Group
Get the specified group detail.
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/suborganization/1/groups/4" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/suborganization/1/groups/4"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/suborganization/1/groups/4',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (201):
{
"groups": [
{
"id": 1,
"name": "Test Group",
"description": "This is a test group.",
"thumb_url": "https://images.pexels.com/photos/2832382",
"shared": true,
"starter_project": null,
"is_public": true,
"created_at": "2020-09-06T19:21:08.000000Z",
"updated_at": "2020-09-06T19:21:08.000000Z"
},
{
"id": 2,
"name": "Math Group",
"description": "This is a test math group.",
"thumb_url": "https://images.pexels.com/photos/2832384",
"shared": true,
"starter_project": null,
"is_public": true,
"created_at": "2020-09-07T19:21:08.000000Z",
"updated_at": "2020-09-07T19:21:08.000000Z"
}
]
}
Received response:
Request failed with error:
Update Group
Update the specified group of a user.
Example request:
curl --request PUT \
"http://localhost:8000/api/v1/suborganization/1/groups/18" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"organization_id\": 13,
\"name\": \"Test Group\",
\"description\": \"This is a test group.\",
\"users\": [
\"enim\"
],
\"projects\": [
\"aut\"
],
\"note\": \"\"
}"
const url = new URL(
"http://localhost:8000/api/v1/suborganization/1/groups/18"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"organization_id": 13,
"name": "Test Group",
"description": "This is a test group.",
"users": [
"enim"
],
"projects": [
"aut"
],
"note": ""
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->put(
'http://localhost:8000/api/v1/suborganization/1/groups/18',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'organization_id' => 13,
'name' => 'Test Group',
'description' => 'This is a test group.',
'users' => [
'enim',
],
'projects' => [
'aut',
],
'note' => '',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (500):
{
"errors": [
"Failed to update group."
]
}
Example response (200):
{
"groups": [
{
"id": 1,
"name": "Test Group",
"description": "This is a test group.",
"thumb_url": "https://images.pexels.com/photos/2832382",
"shared": true,
"starter_project": null,
"is_public": true,
"created_at": "2020-09-06T19:21:08.000000Z",
"updated_at": "2020-09-06T19:21:08.000000Z"
},
{
"id": 2,
"name": "Math Group",
"description": "This is a test math group.",
"thumb_url": "https://images.pexels.com/photos/2832384",
"shared": true,
"starter_project": null,
"is_public": true,
"created_at": "2020-09-07T19:21:08.000000Z",
"updated_at": "2020-09-07T19:21:08.000000Z"
}
]
}
Received response:
Request failed with error:
Remove Group
Remove the specified group of a user.
Example request:
curl --request DELETE \
"http://localhost:8000/api/v1/suborganization/1/groups/10" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/suborganization/1/groups/10"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->delete(
'http://localhost:8000/api/v1/suborganization/1/groups/10',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "Group has been deleted successfully."
}
Example response (500):
{
"errors": [
"Failed to delete group."
]
}
Received response:
Request failed with error:
GET api/v1/users/{user_id}/metrics
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/users/2/metrics" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/users/2/metrics"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/users/2/metrics',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (500):
Show headers
cache-control: no-cache, private
content-type: application/json
{
"message": "Unable to read key from file file://D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\storage\\oauth-public.key",
"exception": "LogicException",
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\league\\oauth2-server\\src\\CryptKey.php",
"line": 67,
"trace": [
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\passport\\src\\PassportServiceProvider.php",
"line": 275,
"function": "__construct",
"class": "League\\OAuth2\\Server\\CryptKey",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\passport\\src\\PassportServiceProvider.php",
"line": 256,
"function": "makeCryptKey",
"class": "Laravel\\Passport\\PassportServiceProvider",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 873,
"function": "Laravel\\Passport\\{closure}",
"class": "Laravel\\Passport\\PassportServiceProvider",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 758,
"function": "build",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Application.php",
"line": 851,
"function": "resolve",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 694,
"function": "resolve",
"class": "Illuminate\\Foundation\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Application.php",
"line": 836,
"function": "make",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\passport\\src\\PassportServiceProvider.php",
"line": 304,
"function": "make",
"class": "Illuminate\\Foundation\\Application",
"type": "->"
},
{
"function": "Laravel\\Passport\\{closure}",
"class": "Laravel\\Passport\\PassportServiceProvider",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\RequestGuard.php",
"line": 58,
"function": "call_user_func"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\GuardHelpers.php",
"line": 60,
"function": "user",
"class": "Illuminate\\Auth\\RequestGuard",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\Middleware\\Authenticate.php",
"line": 63,
"function": "check",
"class": "Illuminate\\Auth\\RequestGuard",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\Middleware\\Authenticate.php",
"line": 42,
"function": "authenticate",
"class": "Illuminate\\Auth\\Middleware\\Authenticate",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Auth\\Middleware\\Authenticate",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 103,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 723,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 698,
"function": "runRouteWithinStack",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 662,
"function": "runRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 651,
"function": "dispatchToRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 167,
"function": "dispatch",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 128,
"function": "Illuminate\\Foundation\\Http\\{closure}",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull.php",
"line": 31,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TrimStrings.php",
"line": 40,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TrimStrings",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize.php",
"line": 27,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance.php",
"line": 86,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\app\\Http\\Middleware\\Cors.php",
"line": 40,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "App\\Http\\Middleware\\Cors",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\fideloper\\proxy\\src\\TrustProxies.php",
"line": 57,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Fideloper\\Proxy\\TrustProxies",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 103,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 142,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 111,
"function": "sendRequestThroughRouter",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 299,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 287,
"function": "callLaravelOrLumenRoute",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 89,
"function": "makeApiCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 45,
"function": "makeResponseCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 35,
"function": "makeResponseCallIfConditionsPass",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 222,
"function": "__invoke",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 179,
"function": "iterateThroughStrategies",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 116,
"function": "fetchResponses",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 123,
"function": "processRoute",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 80,
"function": "extractEndpointsInfoFromLaravelApp",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 56,
"function": "extractEndpointsInfoAndWriteToDisk",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Commands\\GenerateDocumentation.php",
"line": 55,
"function": "get",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 36,
"function": "handle",
"class": "Knuckles\\Scribe\\Commands\\GenerateDocumentation",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Util.php",
"line": 40,
"function": "Illuminate\\Container\\{closure}",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 93,
"function": "unwrapIfClosure",
"class": "Illuminate\\Container\\Util",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 37,
"function": "callBoundMethod",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 653,
"function": "call",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
"line": 136,
"function": "call",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Command\\Command.php",
"line": 298,
"function": "execute",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
"line": 121,
"function": "run",
"class": "Symfony\\Component\\Console\\Command\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 1040,
"function": "run",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 301,
"function": "doRunCommand",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 171,
"function": "doRun",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Application.php",
"line": 94,
"function": "run",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Console\\Kernel.php",
"line": 129,
"function": "run",
"class": "Illuminate\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\artisan",
"line": 37,
"function": "handle",
"class": "Illuminate\\Foundation\\Console\\Kernel",
"type": "->"
}
]
}
Received response:
Request failed with error:
GET api/v1/users/{user_id}/membership
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/users/2/membership" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/users/2/membership"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/users/2/membership',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (500):
Show headers
cache-control: no-cache, private
content-type: application/json
{
"message": "Unable to read key from file file://D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\storage\\oauth-public.key",
"exception": "LogicException",
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\league\\oauth2-server\\src\\CryptKey.php",
"line": 67,
"trace": [
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\passport\\src\\PassportServiceProvider.php",
"line": 275,
"function": "__construct",
"class": "League\\OAuth2\\Server\\CryptKey",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\passport\\src\\PassportServiceProvider.php",
"line": 256,
"function": "makeCryptKey",
"class": "Laravel\\Passport\\PassportServiceProvider",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 873,
"function": "Laravel\\Passport\\{closure}",
"class": "Laravel\\Passport\\PassportServiceProvider",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 758,
"function": "build",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Application.php",
"line": 851,
"function": "resolve",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 694,
"function": "resolve",
"class": "Illuminate\\Foundation\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Application.php",
"line": 836,
"function": "make",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\passport\\src\\PassportServiceProvider.php",
"line": 304,
"function": "make",
"class": "Illuminate\\Foundation\\Application",
"type": "->"
},
{
"function": "Laravel\\Passport\\{closure}",
"class": "Laravel\\Passport\\PassportServiceProvider",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\RequestGuard.php",
"line": 58,
"function": "call_user_func"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\GuardHelpers.php",
"line": 60,
"function": "user",
"class": "Illuminate\\Auth\\RequestGuard",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\Middleware\\Authenticate.php",
"line": 63,
"function": "check",
"class": "Illuminate\\Auth\\RequestGuard",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\Middleware\\Authenticate.php",
"line": 42,
"function": "authenticate",
"class": "Illuminate\\Auth\\Middleware\\Authenticate",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Auth\\Middleware\\Authenticate",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 103,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 723,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 698,
"function": "runRouteWithinStack",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 662,
"function": "runRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 651,
"function": "dispatchToRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 167,
"function": "dispatch",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 128,
"function": "Illuminate\\Foundation\\Http\\{closure}",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull.php",
"line": 31,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TrimStrings.php",
"line": 40,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TrimStrings",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize.php",
"line": 27,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance.php",
"line": 86,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\app\\Http\\Middleware\\Cors.php",
"line": 40,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "App\\Http\\Middleware\\Cors",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\fideloper\\proxy\\src\\TrustProxies.php",
"line": 57,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Fideloper\\Proxy\\TrustProxies",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 103,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 142,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 111,
"function": "sendRequestThroughRouter",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 299,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 287,
"function": "callLaravelOrLumenRoute",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 89,
"function": "makeApiCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 45,
"function": "makeResponseCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 35,
"function": "makeResponseCallIfConditionsPass",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 222,
"function": "__invoke",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 179,
"function": "iterateThroughStrategies",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 116,
"function": "fetchResponses",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 123,
"function": "processRoute",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 80,
"function": "extractEndpointsInfoFromLaravelApp",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 56,
"function": "extractEndpointsInfoAndWriteToDisk",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Commands\\GenerateDocumentation.php",
"line": 55,
"function": "get",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 36,
"function": "handle",
"class": "Knuckles\\Scribe\\Commands\\GenerateDocumentation",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Util.php",
"line": 40,
"function": "Illuminate\\Container\\{closure}",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 93,
"function": "unwrapIfClosure",
"class": "Illuminate\\Container\\Util",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 37,
"function": "callBoundMethod",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 653,
"function": "call",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
"line": 136,
"function": "call",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Command\\Command.php",
"line": 298,
"function": "execute",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
"line": 121,
"function": "run",
"class": "Symfony\\Component\\Console\\Command\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 1040,
"function": "run",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 301,
"function": "doRunCommand",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 171,
"function": "doRun",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Application.php",
"line": 94,
"function": "run",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Console\\Kernel.php",
"line": 129,
"function": "run",
"class": "Illuminate\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\artisan",
"line": 37,
"function": "handle",
"class": "Illuminate\\Foundation\\Console\\Kernel",
"type": "->"
}
]
}
Received response:
Request failed with error:
Display error
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/suborganization/1/projects/3024/offline-project" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/suborganization/1/projects/3024/offline-project"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/suborganization/1/projects/3024/offline-project',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (401):
{
"errors": [
"Unauthorized."
]
}
Example response (500):
Show headers
cache-control: no-cache, private
content-type: application/json
{
"message": "Unable to read key from file file://D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\storage\\oauth-public.key",
"exception": "LogicException",
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\league\\oauth2-server\\src\\CryptKey.php",
"line": 67,
"trace": [
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\passport\\src\\PassportServiceProvider.php",
"line": 275,
"function": "__construct",
"class": "League\\OAuth2\\Server\\CryptKey",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\passport\\src\\PassportServiceProvider.php",
"line": 256,
"function": "makeCryptKey",
"class": "Laravel\\Passport\\PassportServiceProvider",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 873,
"function": "Laravel\\Passport\\{closure}",
"class": "Laravel\\Passport\\PassportServiceProvider",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 758,
"function": "build",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Application.php",
"line": 851,
"function": "resolve",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 694,
"function": "resolve",
"class": "Illuminate\\Foundation\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Application.php",
"line": 836,
"function": "make",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\passport\\src\\PassportServiceProvider.php",
"line": 304,
"function": "make",
"class": "Illuminate\\Foundation\\Application",
"type": "->"
},
{
"function": "Laravel\\Passport\\{closure}",
"class": "Laravel\\Passport\\PassportServiceProvider",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\RequestGuard.php",
"line": 58,
"function": "call_user_func"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\GuardHelpers.php",
"line": 60,
"function": "user",
"class": "Illuminate\\Auth\\RequestGuard",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\Middleware\\Authenticate.php",
"line": 63,
"function": "check",
"class": "Illuminate\\Auth\\RequestGuard",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\Middleware\\Authenticate.php",
"line": 42,
"function": "authenticate",
"class": "Illuminate\\Auth\\Middleware\\Authenticate",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Auth\\Middleware\\Authenticate",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 103,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 723,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 698,
"function": "runRouteWithinStack",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 662,
"function": "runRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 651,
"function": "dispatchToRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 167,
"function": "dispatch",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 128,
"function": "Illuminate\\Foundation\\Http\\{closure}",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull.php",
"line": 31,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TrimStrings.php",
"line": 40,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TrimStrings",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize.php",
"line": 27,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance.php",
"line": 86,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\app\\Http\\Middleware\\Cors.php",
"line": 40,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "App\\Http\\Middleware\\Cors",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\fideloper\\proxy\\src\\TrustProxies.php",
"line": 57,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Fideloper\\Proxy\\TrustProxies",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 103,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 142,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 111,
"function": "sendRequestThroughRouter",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 299,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 287,
"function": "callLaravelOrLumenRoute",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 89,
"function": "makeApiCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 45,
"function": "makeResponseCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 35,
"function": "makeResponseCallIfConditionsPass",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 222,
"function": "__invoke",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 179,
"function": "iterateThroughStrategies",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 116,
"function": "fetchResponses",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 123,
"function": "processRoute",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 80,
"function": "extractEndpointsInfoFromLaravelApp",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 56,
"function": "extractEndpointsInfoAndWriteToDisk",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Commands\\GenerateDocumentation.php",
"line": 55,
"function": "get",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 36,
"function": "handle",
"class": "Knuckles\\Scribe\\Commands\\GenerateDocumentation",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Util.php",
"line": 40,
"function": "Illuminate\\Container\\{closure}",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 93,
"function": "unwrapIfClosure",
"class": "Illuminate\\Container\\Util",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 37,
"function": "callBoundMethod",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 653,
"function": "call",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
"line": 136,
"function": "call",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Command\\Command.php",
"line": 298,
"function": "execute",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
"line": 121,
"function": "run",
"class": "Symfony\\Component\\Console\\Command\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 1040,
"function": "run",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 301,
"function": "doRunCommand",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 171,
"function": "doRun",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Application.php",
"line": 94,
"function": "run",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Console\\Kernel.php",
"line": 129,
"function": "run",
"class": "Illuminate\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\artisan",
"line": 37,
"function": "handle",
"class": "Illuminate\\Foundation\\Console\\Kernel",
"type": "->"
}
]
}
Received response:
Request failed with error:
GET api/v1/project/delete/{project_path}
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/project/delete/non" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/project/delete/non"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/project/delete/non',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (500):
Show headers
cache-control: no-cache, private
content-type: application/json
{
"message": "Unable to read key from file file://D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\storage\\oauth-public.key",
"exception": "LogicException",
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\league\\oauth2-server\\src\\CryptKey.php",
"line": 67,
"trace": [
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\passport\\src\\PassportServiceProvider.php",
"line": 275,
"function": "__construct",
"class": "League\\OAuth2\\Server\\CryptKey",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\passport\\src\\PassportServiceProvider.php",
"line": 256,
"function": "makeCryptKey",
"class": "Laravel\\Passport\\PassportServiceProvider",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 873,
"function": "Laravel\\Passport\\{closure}",
"class": "Laravel\\Passport\\PassportServiceProvider",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 758,
"function": "build",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Application.php",
"line": 851,
"function": "resolve",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 694,
"function": "resolve",
"class": "Illuminate\\Foundation\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Application.php",
"line": 836,
"function": "make",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\passport\\src\\PassportServiceProvider.php",
"line": 304,
"function": "make",
"class": "Illuminate\\Foundation\\Application",
"type": "->"
},
{
"function": "Laravel\\Passport\\{closure}",
"class": "Laravel\\Passport\\PassportServiceProvider",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\RequestGuard.php",
"line": 58,
"function": "call_user_func"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\GuardHelpers.php",
"line": 60,
"function": "user",
"class": "Illuminate\\Auth\\RequestGuard",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\Middleware\\Authenticate.php",
"line": 63,
"function": "check",
"class": "Illuminate\\Auth\\RequestGuard",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\Middleware\\Authenticate.php",
"line": 42,
"function": "authenticate",
"class": "Illuminate\\Auth\\Middleware\\Authenticate",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Auth\\Middleware\\Authenticate",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 103,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 723,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 698,
"function": "runRouteWithinStack",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 662,
"function": "runRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 651,
"function": "dispatchToRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 167,
"function": "dispatch",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 128,
"function": "Illuminate\\Foundation\\Http\\{closure}",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull.php",
"line": 31,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TrimStrings.php",
"line": 40,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TrimStrings",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize.php",
"line": 27,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance.php",
"line": 86,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\app\\Http\\Middleware\\Cors.php",
"line": 40,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "App\\Http\\Middleware\\Cors",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\fideloper\\proxy\\src\\TrustProxies.php",
"line": 57,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Fideloper\\Proxy\\TrustProxies",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 103,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 142,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 111,
"function": "sendRequestThroughRouter",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 299,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 287,
"function": "callLaravelOrLumenRoute",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 89,
"function": "makeApiCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 45,
"function": "makeResponseCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 35,
"function": "makeResponseCallIfConditionsPass",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 222,
"function": "__invoke",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 179,
"function": "iterateThroughStrategies",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 116,
"function": "fetchResponses",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 123,
"function": "processRoute",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 80,
"function": "extractEndpointsInfoFromLaravelApp",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 56,
"function": "extractEndpointsInfoAndWriteToDisk",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Commands\\GenerateDocumentation.php",
"line": 55,
"function": "get",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 36,
"function": "handle",
"class": "Knuckles\\Scribe\\Commands\\GenerateDocumentation",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Util.php",
"line": 40,
"function": "Illuminate\\Container\\{closure}",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 93,
"function": "unwrapIfClosure",
"class": "Illuminate\\Container\\Util",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 37,
"function": "callBoundMethod",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 653,
"function": "call",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
"line": 136,
"function": "call",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Command\\Command.php",
"line": 298,
"function": "execute",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
"line": 121,
"function": "run",
"class": "Symfony\\Component\\Console\\Command\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 1040,
"function": "run",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 301,
"function": "doRunCommand",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 171,
"function": "doRun",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Application.php",
"line": 94,
"function": "run",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Console\\Kernel.php",
"line": 129,
"function": "run",
"class": "Illuminate\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\artisan",
"line": 37,
"function": "handle",
"class": "Illuminate\\Foundation\\Console\\Kernel",
"type": "->"
}
]
}
Received response:
Request failed with error:
GET api/v1/h5p/ajax/libraries
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/h5p/ajax/libraries" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/h5p/ajax/libraries"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/h5p/ajax/libraries',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (500):
Show headers
cache-control: no-cache, private
content-type: application/json
{
"message": "Unable to read key from file file://D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\storage\\oauth-public.key",
"exception": "LogicException",
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\league\\oauth2-server\\src\\CryptKey.php",
"line": 67,
"trace": [
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\passport\\src\\PassportServiceProvider.php",
"line": 275,
"function": "__construct",
"class": "League\\OAuth2\\Server\\CryptKey",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\passport\\src\\PassportServiceProvider.php",
"line": 256,
"function": "makeCryptKey",
"class": "Laravel\\Passport\\PassportServiceProvider",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 873,
"function": "Laravel\\Passport\\{closure}",
"class": "Laravel\\Passport\\PassportServiceProvider",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 758,
"function": "build",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Application.php",
"line": 851,
"function": "resolve",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 694,
"function": "resolve",
"class": "Illuminate\\Foundation\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Application.php",
"line": 836,
"function": "make",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\passport\\src\\PassportServiceProvider.php",
"line": 304,
"function": "make",
"class": "Illuminate\\Foundation\\Application",
"type": "->"
},
{
"function": "Laravel\\Passport\\{closure}",
"class": "Laravel\\Passport\\PassportServiceProvider",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\RequestGuard.php",
"line": 58,
"function": "call_user_func"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\GuardHelpers.php",
"line": 60,
"function": "user",
"class": "Illuminate\\Auth\\RequestGuard",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\Middleware\\Authenticate.php",
"line": 63,
"function": "check",
"class": "Illuminate\\Auth\\RequestGuard",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\Middleware\\Authenticate.php",
"line": 42,
"function": "authenticate",
"class": "Illuminate\\Auth\\Middleware\\Authenticate",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Auth\\Middleware\\Authenticate",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 103,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 723,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 698,
"function": "runRouteWithinStack",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 662,
"function": "runRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 651,
"function": "dispatchToRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 167,
"function": "dispatch",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 128,
"function": "Illuminate\\Foundation\\Http\\{closure}",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull.php",
"line": 31,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TrimStrings.php",
"line": 40,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TrimStrings",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize.php",
"line": 27,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance.php",
"line": 86,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\app\\Http\\Middleware\\Cors.php",
"line": 40,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "App\\Http\\Middleware\\Cors",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\fideloper\\proxy\\src\\TrustProxies.php",
"line": 57,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Fideloper\\Proxy\\TrustProxies",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 103,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 142,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 111,
"function": "sendRequestThroughRouter",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 299,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 287,
"function": "callLaravelOrLumenRoute",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 89,
"function": "makeApiCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 45,
"function": "makeResponseCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 35,
"function": "makeResponseCallIfConditionsPass",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 222,
"function": "__invoke",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 179,
"function": "iterateThroughStrategies",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 116,
"function": "fetchResponses",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 123,
"function": "processRoute",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 80,
"function": "extractEndpointsInfoFromLaravelApp",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 56,
"function": "extractEndpointsInfoAndWriteToDisk",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Commands\\GenerateDocumentation.php",
"line": 55,
"function": "get",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 36,
"function": "handle",
"class": "Knuckles\\Scribe\\Commands\\GenerateDocumentation",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Util.php",
"line": 40,
"function": "Illuminate\\Container\\{closure}",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 93,
"function": "unwrapIfClosure",
"class": "Illuminate\\Container\\Util",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 37,
"function": "callBoundMethod",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 653,
"function": "call",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
"line": 136,
"function": "call",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Command\\Command.php",
"line": 298,
"function": "execute",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
"line": 121,
"function": "run",
"class": "Symfony\\Component\\Console\\Command\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 1040,
"function": "run",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 301,
"function": "doRunCommand",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 171,
"function": "doRun",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Application.php",
"line": 94,
"function": "run",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Console\\Kernel.php",
"line": 129,
"function": "run",
"class": "Illuminate\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\artisan",
"line": 37,
"function": "handle",
"class": "Illuminate\\Foundation\\Console\\Kernel",
"type": "->"
}
]
}
Received response:
Request failed with error:
POST api/v1/h5p/ajax/libraries/load-all-dependencies
Example request:
curl --request POST \
"http://localhost:8000/api/v1/h5p/ajax/libraries/load-all-dependencies" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/h5p/ajax/libraries/load-all-dependencies"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/h5p/ajax/libraries/load-all-dependencies',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Received response:
Request failed with error:
GET api/v1/h5p/ajax/single-libraries
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/h5p/ajax/single-libraries" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/h5p/ajax/single-libraries"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/h5p/ajax/single-libraries',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (500):
Show headers
cache-control: no-cache, private
content-type: application/json
{
"message": "Unable to read key from file file://D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\storage\\oauth-public.key",
"exception": "LogicException",
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\league\\oauth2-server\\src\\CryptKey.php",
"line": 67,
"trace": [
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\passport\\src\\PassportServiceProvider.php",
"line": 275,
"function": "__construct",
"class": "League\\OAuth2\\Server\\CryptKey",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\passport\\src\\PassportServiceProvider.php",
"line": 256,
"function": "makeCryptKey",
"class": "Laravel\\Passport\\PassportServiceProvider",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 873,
"function": "Laravel\\Passport\\{closure}",
"class": "Laravel\\Passport\\PassportServiceProvider",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 758,
"function": "build",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Application.php",
"line": 851,
"function": "resolve",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 694,
"function": "resolve",
"class": "Illuminate\\Foundation\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Application.php",
"line": 836,
"function": "make",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\passport\\src\\PassportServiceProvider.php",
"line": 304,
"function": "make",
"class": "Illuminate\\Foundation\\Application",
"type": "->"
},
{
"function": "Laravel\\Passport\\{closure}",
"class": "Laravel\\Passport\\PassportServiceProvider",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\RequestGuard.php",
"line": 58,
"function": "call_user_func"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\GuardHelpers.php",
"line": 60,
"function": "user",
"class": "Illuminate\\Auth\\RequestGuard",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\Middleware\\Authenticate.php",
"line": 63,
"function": "check",
"class": "Illuminate\\Auth\\RequestGuard",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\Middleware\\Authenticate.php",
"line": 42,
"function": "authenticate",
"class": "Illuminate\\Auth\\Middleware\\Authenticate",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Auth\\Middleware\\Authenticate",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 103,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 723,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 698,
"function": "runRouteWithinStack",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 662,
"function": "runRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 651,
"function": "dispatchToRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 167,
"function": "dispatch",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 128,
"function": "Illuminate\\Foundation\\Http\\{closure}",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull.php",
"line": 31,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TrimStrings.php",
"line": 40,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TrimStrings",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize.php",
"line": 27,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance.php",
"line": 86,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\app\\Http\\Middleware\\Cors.php",
"line": 40,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "App\\Http\\Middleware\\Cors",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\fideloper\\proxy\\src\\TrustProxies.php",
"line": 57,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Fideloper\\Proxy\\TrustProxies",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 103,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 142,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 111,
"function": "sendRequestThroughRouter",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 299,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 287,
"function": "callLaravelOrLumenRoute",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 89,
"function": "makeApiCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 45,
"function": "makeResponseCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 35,
"function": "makeResponseCallIfConditionsPass",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 222,
"function": "__invoke",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 179,
"function": "iterateThroughStrategies",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 116,
"function": "fetchResponses",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 123,
"function": "processRoute",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 80,
"function": "extractEndpointsInfoFromLaravelApp",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 56,
"function": "extractEndpointsInfoAndWriteToDisk",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Commands\\GenerateDocumentation.php",
"line": 55,
"function": "get",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 36,
"function": "handle",
"class": "Knuckles\\Scribe\\Commands\\GenerateDocumentation",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Util.php",
"line": 40,
"function": "Illuminate\\Container\\{closure}",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 93,
"function": "unwrapIfClosure",
"class": "Illuminate\\Container\\Util",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 37,
"function": "callBoundMethod",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 653,
"function": "call",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
"line": 136,
"function": "call",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Command\\Command.php",
"line": 298,
"function": "execute",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
"line": 121,
"function": "run",
"class": "Symfony\\Component\\Console\\Command\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 1040,
"function": "run",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 301,
"function": "doRunCommand",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 171,
"function": "doRun",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Application.php",
"line": 94,
"function": "run",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Console\\Kernel.php",
"line": 129,
"function": "run",
"class": "Illuminate\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\artisan",
"line": 37,
"function": "handle",
"class": "Illuminate\\Foundation\\Console\\Kernel",
"type": "->"
}
]
}
Received response:
Request failed with error:
GET api/v1/h5p/ajax/content-type-cache
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/h5p/ajax/content-type-cache" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/h5p/ajax/content-type-cache"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/h5p/ajax/content-type-cache',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (500):
Show headers
cache-control: no-cache, private
content-type: application/json
{
"message": "Unable to read key from file file://D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\storage\\oauth-public.key",
"exception": "LogicException",
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\league\\oauth2-server\\src\\CryptKey.php",
"line": 67,
"trace": [
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\passport\\src\\PassportServiceProvider.php",
"line": 275,
"function": "__construct",
"class": "League\\OAuth2\\Server\\CryptKey",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\passport\\src\\PassportServiceProvider.php",
"line": 256,
"function": "makeCryptKey",
"class": "Laravel\\Passport\\PassportServiceProvider",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 873,
"function": "Laravel\\Passport\\{closure}",
"class": "Laravel\\Passport\\PassportServiceProvider",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 758,
"function": "build",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Application.php",
"line": 851,
"function": "resolve",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 694,
"function": "resolve",
"class": "Illuminate\\Foundation\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Application.php",
"line": 836,
"function": "make",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\passport\\src\\PassportServiceProvider.php",
"line": 304,
"function": "make",
"class": "Illuminate\\Foundation\\Application",
"type": "->"
},
{
"function": "Laravel\\Passport\\{closure}",
"class": "Laravel\\Passport\\PassportServiceProvider",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\RequestGuard.php",
"line": 58,
"function": "call_user_func"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\GuardHelpers.php",
"line": 60,
"function": "user",
"class": "Illuminate\\Auth\\RequestGuard",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\Middleware\\Authenticate.php",
"line": 63,
"function": "check",
"class": "Illuminate\\Auth\\RequestGuard",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\Middleware\\Authenticate.php",
"line": 42,
"function": "authenticate",
"class": "Illuminate\\Auth\\Middleware\\Authenticate",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Auth\\Middleware\\Authenticate",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 103,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 723,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 698,
"function": "runRouteWithinStack",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 662,
"function": "runRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 651,
"function": "dispatchToRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 167,
"function": "dispatch",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 128,
"function": "Illuminate\\Foundation\\Http\\{closure}",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull.php",
"line": 31,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TrimStrings.php",
"line": 40,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TrimStrings",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize.php",
"line": 27,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance.php",
"line": 86,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\app\\Http\\Middleware\\Cors.php",
"line": 40,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "App\\Http\\Middleware\\Cors",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\fideloper\\proxy\\src\\TrustProxies.php",
"line": 57,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Fideloper\\Proxy\\TrustProxies",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 103,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 142,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 111,
"function": "sendRequestThroughRouter",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 299,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 287,
"function": "callLaravelOrLumenRoute",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 89,
"function": "makeApiCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 45,
"function": "makeResponseCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 35,
"function": "makeResponseCallIfConditionsPass",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 222,
"function": "__invoke",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 179,
"function": "iterateThroughStrategies",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 116,
"function": "fetchResponses",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 123,
"function": "processRoute",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 80,
"function": "extractEndpointsInfoFromLaravelApp",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 56,
"function": "extractEndpointsInfoAndWriteToDisk",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Commands\\GenerateDocumentation.php",
"line": 55,
"function": "get",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 36,
"function": "handle",
"class": "Knuckles\\Scribe\\Commands\\GenerateDocumentation",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Util.php",
"line": 40,
"function": "Illuminate\\Container\\{closure}",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 93,
"function": "unwrapIfClosure",
"class": "Illuminate\\Container\\Util",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 37,
"function": "callBoundMethod",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 653,
"function": "call",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
"line": 136,
"function": "call",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Command\\Command.php",
"line": 298,
"function": "execute",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
"line": 121,
"function": "run",
"class": "Symfony\\Component\\Console\\Command\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 1040,
"function": "run",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 301,
"function": "doRunCommand",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 171,
"function": "doRun",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Application.php",
"line": 94,
"function": "run",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Console\\Kernel.php",
"line": 129,
"function": "run",
"class": "Illuminate\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\artisan",
"line": 37,
"function": "handle",
"class": "Illuminate\\Foundation\\Console\\Kernel",
"type": "->"
}
]
}
Received response:
Request failed with error:
GET api/v1/h5p/ajax/library-install
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/h5p/ajax/library-install" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/h5p/ajax/library-install"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/h5p/ajax/library-install',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (500):
Show headers
cache-control: no-cache, private
content-type: application/json
{
"message": "Unable to read key from file file://D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\storage\\oauth-public.key",
"exception": "LogicException",
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\league\\oauth2-server\\src\\CryptKey.php",
"line": 67,
"trace": [
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\passport\\src\\PassportServiceProvider.php",
"line": 275,
"function": "__construct",
"class": "League\\OAuth2\\Server\\CryptKey",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\passport\\src\\PassportServiceProvider.php",
"line": 256,
"function": "makeCryptKey",
"class": "Laravel\\Passport\\PassportServiceProvider",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 873,
"function": "Laravel\\Passport\\{closure}",
"class": "Laravel\\Passport\\PassportServiceProvider",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 758,
"function": "build",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Application.php",
"line": 851,
"function": "resolve",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 694,
"function": "resolve",
"class": "Illuminate\\Foundation\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Application.php",
"line": 836,
"function": "make",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\passport\\src\\PassportServiceProvider.php",
"line": 304,
"function": "make",
"class": "Illuminate\\Foundation\\Application",
"type": "->"
},
{
"function": "Laravel\\Passport\\{closure}",
"class": "Laravel\\Passport\\PassportServiceProvider",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\RequestGuard.php",
"line": 58,
"function": "call_user_func"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\GuardHelpers.php",
"line": 60,
"function": "user",
"class": "Illuminate\\Auth\\RequestGuard",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\Middleware\\Authenticate.php",
"line": 63,
"function": "check",
"class": "Illuminate\\Auth\\RequestGuard",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\Middleware\\Authenticate.php",
"line": 42,
"function": "authenticate",
"class": "Illuminate\\Auth\\Middleware\\Authenticate",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Auth\\Middleware\\Authenticate",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 103,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 723,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 698,
"function": "runRouteWithinStack",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 662,
"function": "runRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 651,
"function": "dispatchToRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 167,
"function": "dispatch",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 128,
"function": "Illuminate\\Foundation\\Http\\{closure}",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull.php",
"line": 31,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TrimStrings.php",
"line": 40,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TrimStrings",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize.php",
"line": 27,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance.php",
"line": 86,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\app\\Http\\Middleware\\Cors.php",
"line": 40,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "App\\Http\\Middleware\\Cors",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\fideloper\\proxy\\src\\TrustProxies.php",
"line": 57,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Fideloper\\Proxy\\TrustProxies",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 103,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 142,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 111,
"function": "sendRequestThroughRouter",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 299,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 287,
"function": "callLaravelOrLumenRoute",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 89,
"function": "makeApiCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 45,
"function": "makeResponseCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 35,
"function": "makeResponseCallIfConditionsPass",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 222,
"function": "__invoke",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 179,
"function": "iterateThroughStrategies",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 116,
"function": "fetchResponses",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 123,
"function": "processRoute",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 80,
"function": "extractEndpointsInfoFromLaravelApp",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 56,
"function": "extractEndpointsInfoAndWriteToDisk",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Commands\\GenerateDocumentation.php",
"line": 55,
"function": "get",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 36,
"function": "handle",
"class": "Knuckles\\Scribe\\Commands\\GenerateDocumentation",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Util.php",
"line": 40,
"function": "Illuminate\\Container\\{closure}",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 93,
"function": "unwrapIfClosure",
"class": "Illuminate\\Container\\Util",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 37,
"function": "callBoundMethod",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 653,
"function": "call",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
"line": 136,
"function": "call",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Command\\Command.php",
"line": 298,
"function": "execute",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
"line": 121,
"function": "run",
"class": "Symfony\\Component\\Console\\Command\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 1040,
"function": "run",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 301,
"function": "doRunCommand",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 171,
"function": "doRun",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Application.php",
"line": 94,
"function": "run",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Console\\Kernel.php",
"line": 129,
"function": "run",
"class": "Illuminate\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\artisan",
"line": 37,
"function": "handle",
"class": "Illuminate\\Foundation\\Console\\Kernel",
"type": "->"
}
]
}
Received response:
Request failed with error:
POST api/v1/h5p/ajax/library-upload
Example request:
curl --request POST \
"http://localhost:8000/api/v1/h5p/ajax/library-upload" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/h5p/ajax/library-upload"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/h5p/ajax/library-upload',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Received response:
Request failed with error:
GET api/v1/h5p/ajax/filter
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/h5p/ajax/filter" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/h5p/ajax/filter"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/h5p/ajax/filter',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (500):
Show headers
cache-control: no-cache, private
content-type: application/json
{
"message": "Unable to read key from file file://D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\storage\\oauth-public.key",
"exception": "LogicException",
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\league\\oauth2-server\\src\\CryptKey.php",
"line": 67,
"trace": [
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\passport\\src\\PassportServiceProvider.php",
"line": 275,
"function": "__construct",
"class": "League\\OAuth2\\Server\\CryptKey",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\passport\\src\\PassportServiceProvider.php",
"line": 256,
"function": "makeCryptKey",
"class": "Laravel\\Passport\\PassportServiceProvider",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 873,
"function": "Laravel\\Passport\\{closure}",
"class": "Laravel\\Passport\\PassportServiceProvider",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 758,
"function": "build",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Application.php",
"line": 851,
"function": "resolve",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 694,
"function": "resolve",
"class": "Illuminate\\Foundation\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Application.php",
"line": 836,
"function": "make",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\passport\\src\\PassportServiceProvider.php",
"line": 304,
"function": "make",
"class": "Illuminate\\Foundation\\Application",
"type": "->"
},
{
"function": "Laravel\\Passport\\{closure}",
"class": "Laravel\\Passport\\PassportServiceProvider",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\RequestGuard.php",
"line": 58,
"function": "call_user_func"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\GuardHelpers.php",
"line": 60,
"function": "user",
"class": "Illuminate\\Auth\\RequestGuard",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\Middleware\\Authenticate.php",
"line": 63,
"function": "check",
"class": "Illuminate\\Auth\\RequestGuard",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\Middleware\\Authenticate.php",
"line": 42,
"function": "authenticate",
"class": "Illuminate\\Auth\\Middleware\\Authenticate",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Auth\\Middleware\\Authenticate",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 103,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 723,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 698,
"function": "runRouteWithinStack",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 662,
"function": "runRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 651,
"function": "dispatchToRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 167,
"function": "dispatch",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 128,
"function": "Illuminate\\Foundation\\Http\\{closure}",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull.php",
"line": 31,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TrimStrings.php",
"line": 40,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TrimStrings",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize.php",
"line": 27,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance.php",
"line": 86,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\app\\Http\\Middleware\\Cors.php",
"line": 40,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "App\\Http\\Middleware\\Cors",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\fideloper\\proxy\\src\\TrustProxies.php",
"line": 57,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Fideloper\\Proxy\\TrustProxies",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 103,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 142,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 111,
"function": "sendRequestThroughRouter",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 299,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 287,
"function": "callLaravelOrLumenRoute",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 89,
"function": "makeApiCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 45,
"function": "makeResponseCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 35,
"function": "makeResponseCallIfConditionsPass",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 222,
"function": "__invoke",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 179,
"function": "iterateThroughStrategies",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 116,
"function": "fetchResponses",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 123,
"function": "processRoute",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 80,
"function": "extractEndpointsInfoFromLaravelApp",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 56,
"function": "extractEndpointsInfoAndWriteToDisk",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Commands\\GenerateDocumentation.php",
"line": 55,
"function": "get",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 36,
"function": "handle",
"class": "Knuckles\\Scribe\\Commands\\GenerateDocumentation",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Util.php",
"line": 40,
"function": "Illuminate\\Container\\{closure}",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 93,
"function": "unwrapIfClosure",
"class": "Illuminate\\Container\\Util",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 37,
"function": "callBoundMethod",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 653,
"function": "call",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
"line": 136,
"function": "call",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Command\\Command.php",
"line": 298,
"function": "execute",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
"line": 121,
"function": "run",
"class": "Symfony\\Component\\Console\\Command\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 1040,
"function": "run",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 301,
"function": "doRunCommand",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 171,
"function": "doRun",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Application.php",
"line": 94,
"function": "run",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Console\\Kernel.php",
"line": 129,
"function": "run",
"class": "Illuminate\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\artisan",
"line": 37,
"function": "handle",
"class": "Illuminate\\Foundation\\Console\\Kernel",
"type": "->"
}
]
}
Received response:
Request failed with error:
GET api/v1/h5p/ajax/finish
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/h5p/ajax/finish" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/h5p/ajax/finish"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/h5p/ajax/finish',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (500):
Show headers
cache-control: no-cache, private
content-type: application/json
{
"message": "Unable to read key from file file://D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\storage\\oauth-public.key",
"exception": "LogicException",
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\league\\oauth2-server\\src\\CryptKey.php",
"line": 67,
"trace": [
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\passport\\src\\PassportServiceProvider.php",
"line": 275,
"function": "__construct",
"class": "League\\OAuth2\\Server\\CryptKey",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\passport\\src\\PassportServiceProvider.php",
"line": 256,
"function": "makeCryptKey",
"class": "Laravel\\Passport\\PassportServiceProvider",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 873,
"function": "Laravel\\Passport\\{closure}",
"class": "Laravel\\Passport\\PassportServiceProvider",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 758,
"function": "build",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Application.php",
"line": 851,
"function": "resolve",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 694,
"function": "resolve",
"class": "Illuminate\\Foundation\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Application.php",
"line": 836,
"function": "make",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\passport\\src\\PassportServiceProvider.php",
"line": 304,
"function": "make",
"class": "Illuminate\\Foundation\\Application",
"type": "->"
},
{
"function": "Laravel\\Passport\\{closure}",
"class": "Laravel\\Passport\\PassportServiceProvider",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\RequestGuard.php",
"line": 58,
"function": "call_user_func"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\GuardHelpers.php",
"line": 60,
"function": "user",
"class": "Illuminate\\Auth\\RequestGuard",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\Middleware\\Authenticate.php",
"line": 63,
"function": "check",
"class": "Illuminate\\Auth\\RequestGuard",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\Middleware\\Authenticate.php",
"line": 42,
"function": "authenticate",
"class": "Illuminate\\Auth\\Middleware\\Authenticate",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Auth\\Middleware\\Authenticate",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 103,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 723,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 698,
"function": "runRouteWithinStack",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 662,
"function": "runRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 651,
"function": "dispatchToRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 167,
"function": "dispatch",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 128,
"function": "Illuminate\\Foundation\\Http\\{closure}",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull.php",
"line": 31,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TrimStrings.php",
"line": 40,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TrimStrings",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize.php",
"line": 27,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance.php",
"line": 86,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\app\\Http\\Middleware\\Cors.php",
"line": 40,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "App\\Http\\Middleware\\Cors",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\fideloper\\proxy\\src\\TrustProxies.php",
"line": 57,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Fideloper\\Proxy\\TrustProxies",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 103,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 142,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 111,
"function": "sendRequestThroughRouter",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 299,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 287,
"function": "callLaravelOrLumenRoute",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 89,
"function": "makeApiCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 45,
"function": "makeResponseCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 35,
"function": "makeResponseCallIfConditionsPass",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 222,
"function": "__invoke",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 179,
"function": "iterateThroughStrategies",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 116,
"function": "fetchResponses",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 123,
"function": "processRoute",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 80,
"function": "extractEndpointsInfoFromLaravelApp",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 56,
"function": "extractEndpointsInfoAndWriteToDisk",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Commands\\GenerateDocumentation.php",
"line": 55,
"function": "get",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 36,
"function": "handle",
"class": "Knuckles\\Scribe\\Commands\\GenerateDocumentation",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Util.php",
"line": 40,
"function": "Illuminate\\Container\\{closure}",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 93,
"function": "unwrapIfClosure",
"class": "Illuminate\\Container\\Util",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 37,
"function": "callBoundMethod",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 653,
"function": "call",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
"line": 136,
"function": "call",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Command\\Command.php",
"line": 298,
"function": "execute",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
"line": 121,
"function": "run",
"class": "Symfony\\Component\\Console\\Command\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 1040,
"function": "run",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 301,
"function": "doRunCommand",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 171,
"function": "doRun",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Application.php",
"line": 94,
"function": "run",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Console\\Kernel.php",
"line": 129,
"function": "run",
"class": "Illuminate\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\artisan",
"line": 37,
"function": "handle",
"class": "Illuminate\\Foundation\\Console\\Kernel",
"type": "->"
}
]
}
Received response:
Request failed with error:
GET api/v1/h5p/h5p-result/my
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/h5p/h5p-result/my" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/h5p/h5p-result/my"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/h5p/h5p-result/my',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (500):
Show headers
cache-control: no-cache, private
content-type: application/json
{
"message": "Unable to read key from file file://D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\storage\\oauth-public.key",
"exception": "LogicException",
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\league\\oauth2-server\\src\\CryptKey.php",
"line": 67,
"trace": [
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\passport\\src\\PassportServiceProvider.php",
"line": 275,
"function": "__construct",
"class": "League\\OAuth2\\Server\\CryptKey",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\passport\\src\\PassportServiceProvider.php",
"line": 256,
"function": "makeCryptKey",
"class": "Laravel\\Passport\\PassportServiceProvider",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 873,
"function": "Laravel\\Passport\\{closure}",
"class": "Laravel\\Passport\\PassportServiceProvider",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 758,
"function": "build",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Application.php",
"line": 851,
"function": "resolve",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 694,
"function": "resolve",
"class": "Illuminate\\Foundation\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Application.php",
"line": 836,
"function": "make",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\passport\\src\\PassportServiceProvider.php",
"line": 304,
"function": "make",
"class": "Illuminate\\Foundation\\Application",
"type": "->"
},
{
"function": "Laravel\\Passport\\{closure}",
"class": "Laravel\\Passport\\PassportServiceProvider",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\RequestGuard.php",
"line": 58,
"function": "call_user_func"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\GuardHelpers.php",
"line": 60,
"function": "user",
"class": "Illuminate\\Auth\\RequestGuard",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\Middleware\\Authenticate.php",
"line": 63,
"function": "check",
"class": "Illuminate\\Auth\\RequestGuard",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\Middleware\\Authenticate.php",
"line": 42,
"function": "authenticate",
"class": "Illuminate\\Auth\\Middleware\\Authenticate",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Auth\\Middleware\\Authenticate",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 103,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 723,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 698,
"function": "runRouteWithinStack",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 662,
"function": "runRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 651,
"function": "dispatchToRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 167,
"function": "dispatch",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 128,
"function": "Illuminate\\Foundation\\Http\\{closure}",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull.php",
"line": 31,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TrimStrings.php",
"line": 40,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TrimStrings",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize.php",
"line": 27,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance.php",
"line": 86,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\app\\Http\\Middleware\\Cors.php",
"line": 40,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "App\\Http\\Middleware\\Cors",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\fideloper\\proxy\\src\\TrustProxies.php",
"line": 57,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Fideloper\\Proxy\\TrustProxies",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 103,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 142,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 111,
"function": "sendRequestThroughRouter",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 299,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 287,
"function": "callLaravelOrLumenRoute",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 89,
"function": "makeApiCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 45,
"function": "makeResponseCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 35,
"function": "makeResponseCallIfConditionsPass",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 222,
"function": "__invoke",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 179,
"function": "iterateThroughStrategies",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 116,
"function": "fetchResponses",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 123,
"function": "processRoute",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 80,
"function": "extractEndpointsInfoFromLaravelApp",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 56,
"function": "extractEndpointsInfoAndWriteToDisk",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Commands\\GenerateDocumentation.php",
"line": 55,
"function": "get",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 36,
"function": "handle",
"class": "Knuckles\\Scribe\\Commands\\GenerateDocumentation",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Util.php",
"line": 40,
"function": "Illuminate\\Container\\{closure}",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 93,
"function": "unwrapIfClosure",
"class": "Illuminate\\Container\\Util",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 37,
"function": "callBoundMethod",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 653,
"function": "call",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
"line": 136,
"function": "call",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Command\\Command.php",
"line": 298,
"function": "execute",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
"line": 121,
"function": "run",
"class": "Symfony\\Component\\Console\\Command\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 1040,
"function": "run",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 301,
"function": "doRunCommand",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 171,
"function": "doRun",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Application.php",
"line": 94,
"function": "run",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Console\\Kernel.php",
"line": 129,
"function": "run",
"class": "Illuminate\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\artisan",
"line": 37,
"function": "handle",
"class": "Illuminate\\Foundation\\Console\\Kernel",
"type": "->"
}
]
}
Received response:
Request failed with error:
GET api/v1/h5p/ajax/reader/finish
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/h5p/ajax/reader/finish" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/h5p/ajax/reader/finish"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/h5p/ajax/reader/finish',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (500):
Show headers
cache-control: no-cache, private
content-type: application/json
{
"message": "Unable to read key from file file://D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\storage\\oauth-public.key",
"exception": "LogicException",
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\league\\oauth2-server\\src\\CryptKey.php",
"line": 67,
"trace": [
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\passport\\src\\PassportServiceProvider.php",
"line": 275,
"function": "__construct",
"class": "League\\OAuth2\\Server\\CryptKey",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\passport\\src\\PassportServiceProvider.php",
"line": 256,
"function": "makeCryptKey",
"class": "Laravel\\Passport\\PassportServiceProvider",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 873,
"function": "Laravel\\Passport\\{closure}",
"class": "Laravel\\Passport\\PassportServiceProvider",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 758,
"function": "build",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Application.php",
"line": 851,
"function": "resolve",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 694,
"function": "resolve",
"class": "Illuminate\\Foundation\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Application.php",
"line": 836,
"function": "make",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\passport\\src\\PassportServiceProvider.php",
"line": 304,
"function": "make",
"class": "Illuminate\\Foundation\\Application",
"type": "->"
},
{
"function": "Laravel\\Passport\\{closure}",
"class": "Laravel\\Passport\\PassportServiceProvider",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\RequestGuard.php",
"line": 58,
"function": "call_user_func"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\GuardHelpers.php",
"line": 60,
"function": "user",
"class": "Illuminate\\Auth\\RequestGuard",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\Middleware\\Authenticate.php",
"line": 63,
"function": "check",
"class": "Illuminate\\Auth\\RequestGuard",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\Middleware\\Authenticate.php",
"line": 42,
"function": "authenticate",
"class": "Illuminate\\Auth\\Middleware\\Authenticate",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Auth\\Middleware\\Authenticate",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 103,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 723,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 698,
"function": "runRouteWithinStack",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 662,
"function": "runRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 651,
"function": "dispatchToRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 167,
"function": "dispatch",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 128,
"function": "Illuminate\\Foundation\\Http\\{closure}",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull.php",
"line": 31,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TrimStrings.php",
"line": 40,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TrimStrings",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize.php",
"line": 27,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance.php",
"line": 86,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\app\\Http\\Middleware\\Cors.php",
"line": 40,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "App\\Http\\Middleware\\Cors",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\fideloper\\proxy\\src\\TrustProxies.php",
"line": 57,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Fideloper\\Proxy\\TrustProxies",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 103,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 142,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 111,
"function": "sendRequestThroughRouter",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 299,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 287,
"function": "callLaravelOrLumenRoute",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 89,
"function": "makeApiCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 45,
"function": "makeResponseCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 35,
"function": "makeResponseCallIfConditionsPass",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 222,
"function": "__invoke",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 179,
"function": "iterateThroughStrategies",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 116,
"function": "fetchResponses",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 123,
"function": "processRoute",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 80,
"function": "extractEndpointsInfoFromLaravelApp",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 56,
"function": "extractEndpointsInfoAndWriteToDisk",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Commands\\GenerateDocumentation.php",
"line": 55,
"function": "get",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 36,
"function": "handle",
"class": "Knuckles\\Scribe\\Commands\\GenerateDocumentation",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Util.php",
"line": 40,
"function": "Illuminate\\Container\\{closure}",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 93,
"function": "unwrapIfClosure",
"class": "Illuminate\\Container\\Util",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 37,
"function": "callBoundMethod",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 653,
"function": "call",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
"line": 136,
"function": "call",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Command\\Command.php",
"line": 298,
"function": "execute",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
"line": 121,
"function": "run",
"class": "Symfony\\Component\\Console\\Command\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 1040,
"function": "run",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 301,
"function": "doRunCommand",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 171,
"function": "doRun",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Application.php",
"line": 94,
"function": "run",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Console\\Kernel.php",
"line": 129,
"function": "run",
"class": "Illuminate\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\artisan",
"line": 37,
"function": "handle",
"class": "Illuminate\\Foundation\\Console\\Kernel",
"type": "->"
}
]
}
Received response:
Request failed with error:
GET api/v1/h5p/ajax/reader/getScore
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/h5p/ajax/reader/getScore" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/h5p/ajax/reader/getScore"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/h5p/ajax/reader/getScore',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (500):
Show headers
cache-control: no-cache, private
content-type: application/json
{
"message": "Unable to read key from file file://D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\storage\\oauth-public.key",
"exception": "LogicException",
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\league\\oauth2-server\\src\\CryptKey.php",
"line": 67,
"trace": [
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\passport\\src\\PassportServiceProvider.php",
"line": 275,
"function": "__construct",
"class": "League\\OAuth2\\Server\\CryptKey",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\passport\\src\\PassportServiceProvider.php",
"line": 256,
"function": "makeCryptKey",
"class": "Laravel\\Passport\\PassportServiceProvider",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 873,
"function": "Laravel\\Passport\\{closure}",
"class": "Laravel\\Passport\\PassportServiceProvider",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 758,
"function": "build",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Application.php",
"line": 851,
"function": "resolve",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 694,
"function": "resolve",
"class": "Illuminate\\Foundation\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Application.php",
"line": 836,
"function": "make",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\passport\\src\\PassportServiceProvider.php",
"line": 304,
"function": "make",
"class": "Illuminate\\Foundation\\Application",
"type": "->"
},
{
"function": "Laravel\\Passport\\{closure}",
"class": "Laravel\\Passport\\PassportServiceProvider",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\RequestGuard.php",
"line": 58,
"function": "call_user_func"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\GuardHelpers.php",
"line": 60,
"function": "user",
"class": "Illuminate\\Auth\\RequestGuard",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\Middleware\\Authenticate.php",
"line": 63,
"function": "check",
"class": "Illuminate\\Auth\\RequestGuard",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\Middleware\\Authenticate.php",
"line": 42,
"function": "authenticate",
"class": "Illuminate\\Auth\\Middleware\\Authenticate",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Auth\\Middleware\\Authenticate",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 103,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 723,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 698,
"function": "runRouteWithinStack",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 662,
"function": "runRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 651,
"function": "dispatchToRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 167,
"function": "dispatch",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 128,
"function": "Illuminate\\Foundation\\Http\\{closure}",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull.php",
"line": 31,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TrimStrings.php",
"line": 40,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TrimStrings",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize.php",
"line": 27,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance.php",
"line": 86,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\app\\Http\\Middleware\\Cors.php",
"line": 40,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "App\\Http\\Middleware\\Cors",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\fideloper\\proxy\\src\\TrustProxies.php",
"line": 57,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Fideloper\\Proxy\\TrustProxies",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 103,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 142,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 111,
"function": "sendRequestThroughRouter",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 299,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 287,
"function": "callLaravelOrLumenRoute",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 89,
"function": "makeApiCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 45,
"function": "makeResponseCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 35,
"function": "makeResponseCallIfConditionsPass",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 222,
"function": "__invoke",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 179,
"function": "iterateThroughStrategies",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 116,
"function": "fetchResponses",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 123,
"function": "processRoute",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 80,
"function": "extractEndpointsInfoFromLaravelApp",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 56,
"function": "extractEndpointsInfoAndWriteToDisk",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Commands\\GenerateDocumentation.php",
"line": 55,
"function": "get",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 36,
"function": "handle",
"class": "Knuckles\\Scribe\\Commands\\GenerateDocumentation",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Util.php",
"line": 40,
"function": "Illuminate\\Container\\{closure}",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 93,
"function": "unwrapIfClosure",
"class": "Illuminate\\Container\\Util",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 37,
"function": "callBoundMethod",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 653,
"function": "call",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
"line": 136,
"function": "call",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Command\\Command.php",
"line": 298,
"function": "execute",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
"line": 121,
"function": "run",
"class": "Symfony\\Component\\Console\\Command\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 1040,
"function": "run",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 301,
"function": "doRunCommand",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 171,
"function": "doRun",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Application.php",
"line": 94,
"function": "run",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Console\\Kernel.php",
"line": 129,
"function": "run",
"class": "Illuminate\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\artisan",
"line": 37,
"function": "handle",
"class": "Illuminate\\Foundation\\Console\\Kernel",
"type": "->"
}
]
}
Received response:
Request failed with error:
Get All Brightcove API Settings for listing.
Returns the paginated response with pagination links (DataTables are fully supported - All Params).
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/suborganizations/1/brightcove-api-settings" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"start\": 0,
\"length\": 10
}"
const url = new URL(
"http://localhost:8000/api/v1/suborganizations/1/brightcove-api-settings"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"start": 0,
"length": 10
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/suborganizations/1/brightcove-api-settings',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'start' => 0,
'length' => 10,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (500):
Show headers
cache-control: no-cache, private
content-type: application/json
{
"message": "Unable to read key from file file://D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\storage\\oauth-public.key",
"exception": "LogicException",
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\league\\oauth2-server\\src\\CryptKey.php",
"line": 67,
"trace": [
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\passport\\src\\PassportServiceProvider.php",
"line": 275,
"function": "__construct",
"class": "League\\OAuth2\\Server\\CryptKey",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\passport\\src\\PassportServiceProvider.php",
"line": 256,
"function": "makeCryptKey",
"class": "Laravel\\Passport\\PassportServiceProvider",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 873,
"function": "Laravel\\Passport\\{closure}",
"class": "Laravel\\Passport\\PassportServiceProvider",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 758,
"function": "build",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Application.php",
"line": 851,
"function": "resolve",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 694,
"function": "resolve",
"class": "Illuminate\\Foundation\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Application.php",
"line": 836,
"function": "make",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\passport\\src\\PassportServiceProvider.php",
"line": 304,
"function": "make",
"class": "Illuminate\\Foundation\\Application",
"type": "->"
},
{
"function": "Laravel\\Passport\\{closure}",
"class": "Laravel\\Passport\\PassportServiceProvider",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\RequestGuard.php",
"line": 58,
"function": "call_user_func"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\GuardHelpers.php",
"line": 60,
"function": "user",
"class": "Illuminate\\Auth\\RequestGuard",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\Middleware\\Authenticate.php",
"line": 63,
"function": "check",
"class": "Illuminate\\Auth\\RequestGuard",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\Middleware\\Authenticate.php",
"line": 42,
"function": "authenticate",
"class": "Illuminate\\Auth\\Middleware\\Authenticate",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Auth\\Middleware\\Authenticate",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 103,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 723,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 698,
"function": "runRouteWithinStack",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 662,
"function": "runRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 651,
"function": "dispatchToRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 167,
"function": "dispatch",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 128,
"function": "Illuminate\\Foundation\\Http\\{closure}",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull.php",
"line": 31,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TrimStrings.php",
"line": 40,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TrimStrings",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize.php",
"line": 27,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance.php",
"line": 86,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\app\\Http\\Middleware\\Cors.php",
"line": 40,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "App\\Http\\Middleware\\Cors",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\fideloper\\proxy\\src\\TrustProxies.php",
"line": 57,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Fideloper\\Proxy\\TrustProxies",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 103,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 142,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 111,
"function": "sendRequestThroughRouter",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 299,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 287,
"function": "callLaravelOrLumenRoute",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 89,
"function": "makeApiCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 45,
"function": "makeResponseCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 35,
"function": "makeResponseCallIfConditionsPass",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 222,
"function": "__invoke",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 179,
"function": "iterateThroughStrategies",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 116,
"function": "fetchResponses",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 123,
"function": "processRoute",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 80,
"function": "extractEndpointsInfoFromLaravelApp",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 56,
"function": "extractEndpointsInfoAndWriteToDisk",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Commands\\GenerateDocumentation.php",
"line": 55,
"function": "get",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 36,
"function": "handle",
"class": "Knuckles\\Scribe\\Commands\\GenerateDocumentation",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Util.php",
"line": 40,
"function": "Illuminate\\Container\\{closure}",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 93,
"function": "unwrapIfClosure",
"class": "Illuminate\\Container\\Util",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 37,
"function": "callBoundMethod",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 653,
"function": "call",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
"line": 136,
"function": "call",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Command\\Command.php",
"line": 298,
"function": "execute",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
"line": 121,
"function": "run",
"class": "Symfony\\Component\\Console\\Command\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 1040,
"function": "run",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 301,
"function": "doRunCommand",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 171,
"function": "doRun",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Application.php",
"line": 94,
"function": "run",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Console\\Kernel.php",
"line": 129,
"function": "run",
"class": "Illuminate\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\artisan",
"line": 37,
"function": "handle",
"class": "Illuminate\\Foundation\\Console\\Kernel",
"type": "->"
}
]
}
Received response:
Request failed with error:
Create Brightcove API Setting
Create Brightcove API Setting Data
Example request:
curl --request POST \
"http://localhost:8000/api/v1/suborganizations/1/brightcove-api-settings" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"account_id\": \"kcjxnoidpmgm\",
\"account_name\": \"njamgdtsvhrrlryccbcvnaauudseiszjqnymcfupqueydpmfcmjxpolaugviqsdtvocxmcnwnthxhwhbg\",
\"account_email\": \"xtebxrysmfzxrzmzrymdpwmndohjbfltzfidjvb\",
\"client_id\": \"nobzxiymbvzsuoriyrogzggvfgiqosetsubbxzqawlrfawkxqekvryxybnuiqyktnkkhlsybbaucpjwpgtvpiayjykbfojvkghxqcr\",
\"client_secret\": \"nzlcnwifiyhgpdtaemrberoitbjfplzpjmezeueasmngwsmgsdkvzxqguviiegtjaxwnepnlefyucntovpcvfehknzwhurrsltncxrmrctgiswroolzunzz\",
\"user_id\": \"quo\",
\"organization_id\": \"corporis\",
\"css_path\": \"fugit\"
}"
const url = new URL(
"http://localhost:8000/api/v1/suborganizations/1/brightcove-api-settings"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"account_id": "kcjxnoidpmgm",
"account_name": "njamgdtsvhrrlryccbcvnaauudseiszjqnymcfupqueydpmfcmjxpolaugviqsdtvocxmcnwnthxhwhbg",
"account_email": "xtebxrysmfzxrzmzrymdpwmndohjbfltzfidjvb",
"client_id": "nobzxiymbvzsuoriyrogzggvfgiqosetsubbxzqawlrfawkxqekvryxybnuiqyktnkkhlsybbaucpjwpgtvpiayjykbfojvkghxqcr",
"client_secret": "nzlcnwifiyhgpdtaemrberoitbjfplzpjmezeueasmngwsmgsdkvzxqguviiegtjaxwnepnlefyucntovpcvfehknzwhurrsltncxrmrctgiswroolzunzz",
"user_id": "quo",
"organization_id": "corporis",
"css_path": "fugit"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/suborganizations/1/brightcove-api-settings',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'account_id' => 'kcjxnoidpmgm',
'account_name' => 'njamgdtsvhrrlryccbcvnaauudseiszjqnymcfupqueydpmfcmjxpolaugviqsdtvocxmcnwnthxhwhbg',
'account_email' => 'xtebxrysmfzxrzmzrymdpwmndohjbfltzfidjvb',
'client_id' => 'nobzxiymbvzsuoriyrogzggvfgiqosetsubbxzqawlrfawkxqekvryxybnuiqyktnkkhlsybbaucpjwpgtvpiayjykbfojvkghxqcr',
'client_secret' => 'nzlcnwifiyhgpdtaemrberoitbjfplzpjmezeueasmngwsmgsdkvzxqguviiegtjaxwnepnlefyucntovpcvfehknzwhurrsltncxrmrctgiswroolzunzz',
'user_id' => 'quo',
'organization_id' => 'corporis',
'css_path' => 'fugit',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "Brightcove API Setting created successfully!",
"data": [
"Created Setting Data Array"
]
}
Example response (500):
{
"errors": [
"Unable to create setting, please try again later!"
]
}
Received response:
Request failed with error:
Update Brightcove API Setting
Update Brightcove API Setting Data
Example request:
curl --request PUT \
"http://localhost:8000/api/v1/suborganizations/1/brightcove-api-settings/1" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"account_id\": \"msaogudnwoflrsqnjzjunrifbvesgp\",
\"account_name\": \"uduqgakk\",
\"account_email\": \"oxroyzitmlfzookavymseehqokunlawoljzgkzjtwdstgvmdwxinyfutymmgstbigpmekkepcnehdwuscrfhnfnkqpuqunnxgwpekpyzfusoytxqnthasmuhs\",
\"client_id\": \"wdxmjwbtfulduotyblhixfojabxqajsmbhulgkevlgmsalhpnotniotacneiwettsnljgomljiuaqkljfksdlfpmgoqsekncyjijjgzwvbyjlflbhhxqeuxmbktguvuutynxijpxffeelegbonbuulihmbsfjkxoxkjtnotwbhzsxwoxzfziphtdzprfjztnzftdwyxunbntzijcfxeqlwgcnmtxmjmvoabstxjnrkfnobybobhljpgjals\",
\"client_secret\": \"dcyxixutkonbukftevcyjdvvrkobdikjqxkrmdzimrbcdcrgggdistwidxceayvrubumexswucystnuj\",
\"user_id\": \"est\",
\"organization_id\": \"numquam\"
}"
const url = new URL(
"http://localhost:8000/api/v1/suborganizations/1/brightcove-api-settings/1"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"account_id": "msaogudnwoflrsqnjzjunrifbvesgp",
"account_name": "uduqgakk",
"account_email": "oxroyzitmlfzookavymseehqokunlawoljzgkzjtwdstgvmdwxinyfutymmgstbigpmekkepcnehdwuscrfhnfnkqpuqunnxgwpekpyzfusoytxqnthasmuhs",
"client_id": "wdxmjwbtfulduotyblhixfojabxqajsmbhulgkevlgmsalhpnotniotacneiwettsnljgomljiuaqkljfksdlfpmgoqsekncyjijjgzwvbyjlflbhhxqeuxmbktguvuutynxijpxffeelegbonbuulihmbsfjkxoxkjtnotwbhzsxwoxzfziphtdzprfjztnzftdwyxunbntzijcfxeqlwgcnmtxmjmvoabstxjnrkfnobybobhljpgjals",
"client_secret": "dcyxixutkonbukftevcyjdvvrkobdikjqxkrmdzimrbcdcrgggdistwidxceayvrubumexswucystnuj",
"user_id": "est",
"organization_id": "numquam"
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->put(
'http://localhost:8000/api/v1/suborganizations/1/brightcove-api-settings/1',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'account_id' => 'msaogudnwoflrsqnjzjunrifbvesgp',
'account_name' => 'uduqgakk',
'account_email' => 'oxroyzitmlfzookavymseehqokunlawoljzgkzjtwdstgvmdwxinyfutymmgstbigpmekkepcnehdwuscrfhnfnkqpuqunnxgwpekpyzfusoytxqnthasmuhs',
'client_id' => 'wdxmjwbtfulduotyblhixfojabxqajsmbhulgkevlgmsalhpnotniotacneiwettsnljgomljiuaqkljfksdlfpmgoqsekncyjijjgzwvbyjlflbhhxqeuxmbktguvuutynxijpxffeelegbonbuulihmbsfjkxoxkjtnotwbhzsxwoxzfziphtdzprfjztnzftdwyxunbntzijcfxeqlwgcnmtxmjmvoabstxjnrkfnobybobhljpgjals',
'client_secret' => 'dcyxixutkonbukftevcyjdvvrkobdikjqxkrmdzimrbcdcrgggdistwidxceayvrubumexswucystnuj',
'user_id' => 'est',
'organization_id' => 'numquam',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "Brightcove API setting data updated successfully!",
"data": [
"Updated Brightcove API setting data array"
]
}
Example response (500):
{
"errors": [
"Unable to update Brightcove API setting, please try again later."
]
}
Received response:
Request failed with error:
Delete Brightcove Setting
Delete Brightcove API Setting
Example request:
curl --request DELETE \
"http://localhost:8000/api/v1/suborganizations/1/brightcove-api-settings/exercitationem" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/suborganizations/1/brightcove-api-settings/exercitationem"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->delete(
'http://localhost:8000/api/v1/suborganizations/1/brightcove-api-settings/exercitationem',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "Brightcove API setting deleted successfully!",
}
Example response (500):
{
"errors": [
"Unable to delete Brightcove API setting, please try again later."
]
}
Received response:
Request failed with error:
Upload CSS
Upload css file for a activity type
Example request:
curl --request POST \
"http://localhost:8000/api/v1/brightcove-api-settings/upload-css" \
--header "Content-Type: multipart/form-data" \
--header "Accept: application/json" \
--form "fileName=mollitia" \
--form "typeName=est" \
--form "file=@C:\Users\Administrator\AppData\Local\Temp\php4DEC.tmp" \
--form "css=@C:\Users\Administrator\AppData\Local\Temp\php4DFE.tmp" const url = new URL(
"http://localhost:8000/api/v1/brightcove-api-settings/upload-css"
);
const headers = {
"Content-Type": "multipart/form-data",
"Accept": "application/json",
};
const body = new FormData();
body.append('fileName', 'mollitia');
body.append('typeName', 'est');
body.append('file', document.querySelector('input[name="file"]').files[0]);
body.append('css', document.querySelector('input[name="css"]').files[0]);
fetch(url, {
method: "POST",
headers,
body,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/brightcove-api-settings/upload-css',
[
'headers' => [
'Content-Type' => 'multipart/form-data',
'Accept' => 'application/json',
],
'multipart' => [
[
'name' => 'fileName',
'contents' => 'mollitia'
],
[
'name' => 'typeName',
'contents' => 'est'
],
[
'name' => 'file',
'contents' => fopen('C:\Users\Administrator\AppData\Local\Temp\php4DEC.tmp', 'r')
],
[
'name' => 'css',
'contents' => fopen('C:\Users\Administrator\AppData\Local\Temp\php4DFE.tmp', 'r')
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"file": "/storage/brightcove/css/Audio.file-name.css"
}
Received response:
Request failed with error:
Login to Canvas
Login to Canvas LMS
Example request:
curl --request POST \
"http://localhost:8000/api/v1/go/vero/login" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"username\": \"umnfmsqbhmbkpfxwwqtvpalodlowqhrodgmlpduxcvtlapkfgwnfesvfepnadahcgsty\",
\"password\": \"ocbuqzyxarzdulbtbubllycembajqyfkwrfemuwrkvwzusyefcaibzorftulxp\",
\"lmsName\": \"ptenktegdvftaapaggqlmgzhhayzujnchpnoygwsmnbwtmvbgnthcqsxitbeauwrmnxcjthxokoyguttxgllvylva\",
\"lmsUrl\": \"dtdbrltvgtvihzsludnhwphyfectihwpgsyvfmimmvhitgplsnpcptgoreiwszgimizmqnlupzqrkmvkeoceekmsimhguxqixzrlhmwyxhtrxtzuaqfunsbobqhumtmfqidljbsovqaorxgqslnqlarmyuvg\",
\"lmsClientId\": \"id\",
\"courseId\": \"pdwahatsrhkmxkzbpffpiuallfkdryjg\",
\"activityId\": 12
}"
const url = new URL(
"http://localhost:8000/api/v1/go/vero/login"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"username": "umnfmsqbhmbkpfxwwqtvpalodlowqhrodgmlpduxcvtlapkfgwnfesvfepnadahcgsty",
"password": "ocbuqzyxarzdulbtbubllycembajqyfkwrfemuwrkvwzusyefcaibzorftulxp",
"lmsName": "ptenktegdvftaapaggqlmgzhhayzujnchpnoygwsmnbwtmvbgnthcqsxitbeauwrmnxcjthxokoyguttxgllvylva",
"lmsUrl": "dtdbrltvgtvihzsludnhwphyfectihwpgsyvfmimmvhitgplsnpcptgoreiwszgimizmqnlupzqrkmvkeoceekmsimhguxqixzrlhmwyxhtrxtzuaqfunsbobqhumtmfqidljbsovqaorxgqslnqlarmyuvg",
"lmsClientId": "id",
"courseId": "pdwahatsrhkmxkzbpffpiuallfkdryjg",
"activityId": 12
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/go/vero/login',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'username' => 'umnfmsqbhmbkpfxwwqtvpalodlowqhrodgmlpduxcvtlapkfgwnfesvfepnadahcgsty',
'password' => 'ocbuqzyxarzdulbtbubllycembajqyfkwrfemuwrkvwzusyefcaibzorftulxp',
'lmsName' => 'ptenktegdvftaapaggqlmgzhhayzujnchpnoygwsmnbwtmvbgnthcqsxitbeauwrmnxcjthxokoyguttxgllvylva',
'lmsUrl' => 'dtdbrltvgtvihzsludnhwphyfectihwpgsyvfmimmvhitgplsnpcptgoreiwszgimizmqnlupzqrkmvkeoceekmsimhguxqixzrlhmwyxhtrxtzuaqfunsbobqhumtmfqidljbsovqaorxgqslnqlarmyuvg',
'lmsClientId' => 'id',
'courseId' => 'pdwahatsrhkmxkzbpffpiuallfkdryjg',
'activityId' => 12,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Received response:
Request failed with error:
Save Access Token
Save GraphAPI access token in the database.
Example request:
curl --request POST \
"http://localhost:8000/api/v1/microsoft-team/save-access-token" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"access_token\": \"dolorem\"
}"
const url = new URL(
"http://localhost:8000/api/v1/microsoft-team/save-access-token"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"access_token": "dolorem"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/microsoft-team/save-access-token',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'access_token' => 'dolorem',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "Access token has been saved successfully."
}
Example response (500):
{
"errors": [
"Failed to save the token."
]
}
Received response:
Request failed with error:
Get List of Classes
Get List of Microsoft Team Classes
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/microsoft-team/classes" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/microsoft-team/classes"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/microsoft-team/classes',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"classes": Array of classes
}
Received response:
Request failed with error:
Create a new Class
Create a new Class/Team into Microsoft Team
Example request:
curl --request POST \
"http://localhost:8000/api/v1/microsoft-team/classes" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"displayName\": \"Test Class\",
\"access_token\": \"123\"
}"
const url = new URL(
"http://localhost:8000/api/v1/microsoft-team/classes"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"displayName": "Test Class",
"access_token": "123"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/microsoft-team/classes',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'displayName' => 'Test Class',
'access_token' => '123',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": [
"Class have been created successfully"
]
}
* @response 500 {
"errors": [
"Something went wrong."
]
}
Received response:
Request failed with error:
Publish project
Publish the project activities as an assignment
Example request:
curl --request POST \
"http://localhost:8000/api/v1/microsoft-team/projects/3024/publish" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"classId\": \"bebe45d4-d0e6-4085-b418-e98a51db70c3\"
}"
const url = new URL(
"http://localhost:8000/api/v1/microsoft-team/projects/3024/publish"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"classId": "bebe45d4-d0e6-4085-b418-e98a51db70c3"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/microsoft-team/projects/3024/publish',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'classId' => 'bebe45d4-d0e6-4085-b418-e98a51db70c3',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": [
"Your request to publish project [project->name] into MS Team has been received and is being processed.<br>You will be alerted in the notification section in the title bar when complete."
]
}
Example response (500):
{
"errors": [
"Project must be shared as we are temporarily publishing the shared link."
]
}
Received response:
Request failed with error:
Publish independent activity/activity
Publish the independent activity or activity in playlist as an assignment
Example request:
curl --request POST \
"http://localhost:8000/api/v1/microsoft-team/activities/761/publish" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"classId\": \"bebe45d4-d0e6-4085-b418-e98a51db70c3\"
}"
const url = new URL(
"http://localhost:8000/api/v1/microsoft-team/activities/761/publish"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"classId": "bebe45d4-d0e6-4085-b418-e98a51db70c3"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/microsoft-team/activities/761/publish',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'classId' => 'bebe45d4-d0e6-4085-b418-e98a51db70c3',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": [
"Your request to publish activity [activity->title] into MS Team has been received and is being processed.<br>You will be alerted in the notification section in the title bar when complete."
]
}
Example response (500):
{
"errors": [
"Activity must be shared as we are temporarily publishing the shared link."
]
}
Received response:
Request failed with error:
Get a full list of LMS settings available to the user
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/user-lms-settings" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/user-lms-settings"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/user-lms-settings',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (500):
Show headers
cache-control: no-cache, private
content-type: application/json
{
"message": "Unable to read key from file file://D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\storage\\oauth-public.key",
"exception": "LogicException",
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\league\\oauth2-server\\src\\CryptKey.php",
"line": 67,
"trace": [
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\passport\\src\\PassportServiceProvider.php",
"line": 275,
"function": "__construct",
"class": "League\\OAuth2\\Server\\CryptKey",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\passport\\src\\PassportServiceProvider.php",
"line": 256,
"function": "makeCryptKey",
"class": "Laravel\\Passport\\PassportServiceProvider",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 873,
"function": "Laravel\\Passport\\{closure}",
"class": "Laravel\\Passport\\PassportServiceProvider",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 758,
"function": "build",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Application.php",
"line": 851,
"function": "resolve",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 694,
"function": "resolve",
"class": "Illuminate\\Foundation\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Application.php",
"line": 836,
"function": "make",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\passport\\src\\PassportServiceProvider.php",
"line": 304,
"function": "make",
"class": "Illuminate\\Foundation\\Application",
"type": "->"
},
{
"function": "Laravel\\Passport\\{closure}",
"class": "Laravel\\Passport\\PassportServiceProvider",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\RequestGuard.php",
"line": 58,
"function": "call_user_func"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\GuardHelpers.php",
"line": 60,
"function": "user",
"class": "Illuminate\\Auth\\RequestGuard",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\Middleware\\Authenticate.php",
"line": 63,
"function": "check",
"class": "Illuminate\\Auth\\RequestGuard",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\Middleware\\Authenticate.php",
"line": 42,
"function": "authenticate",
"class": "Illuminate\\Auth\\Middleware\\Authenticate",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Auth\\Middleware\\Authenticate",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 103,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 723,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 698,
"function": "runRouteWithinStack",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 662,
"function": "runRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 651,
"function": "dispatchToRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 167,
"function": "dispatch",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 128,
"function": "Illuminate\\Foundation\\Http\\{closure}",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull.php",
"line": 31,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TrimStrings.php",
"line": 40,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TrimStrings",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize.php",
"line": 27,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance.php",
"line": 86,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\app\\Http\\Middleware\\Cors.php",
"line": 40,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "App\\Http\\Middleware\\Cors",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\fideloper\\proxy\\src\\TrustProxies.php",
"line": 57,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Fideloper\\Proxy\\TrustProxies",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 103,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 142,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 111,
"function": "sendRequestThroughRouter",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 299,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 287,
"function": "callLaravelOrLumenRoute",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 89,
"function": "makeApiCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 45,
"function": "makeResponseCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 35,
"function": "makeResponseCallIfConditionsPass",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 222,
"function": "__invoke",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 179,
"function": "iterateThroughStrategies",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 116,
"function": "fetchResponses",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 123,
"function": "processRoute",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 80,
"function": "extractEndpointsInfoFromLaravelApp",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 56,
"function": "extractEndpointsInfoAndWriteToDisk",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Commands\\GenerateDocumentation.php",
"line": 55,
"function": "get",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 36,
"function": "handle",
"class": "Knuckles\\Scribe\\Commands\\GenerateDocumentation",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Util.php",
"line": 40,
"function": "Illuminate\\Container\\{closure}",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 93,
"function": "unwrapIfClosure",
"class": "Illuminate\\Container\\Util",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 37,
"function": "callBoundMethod",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 653,
"function": "call",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
"line": 136,
"function": "call",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Command\\Command.php",
"line": 298,
"function": "execute",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
"line": 121,
"function": "run",
"class": "Symfony\\Component\\Console\\Command\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 1040,
"function": "run",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 301,
"function": "doRunCommand",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 171,
"function": "doRun",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Application.php",
"line": 94,
"function": "run",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Console\\Kernel.php",
"line": 129,
"function": "run",
"class": "Illuminate\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\artisan",
"line": 37,
"function": "handle",
"class": "Illuminate\\Foundation\\Console\\Kernel",
"type": "->"
}
]
}
Received response:
Request failed with error:
Display a listing of the resource.
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/organizations/1/default-sso-settings" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/organizations/1/default-sso-settings"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/organizations/1/default-sso-settings',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (500):
Show headers
cache-control: no-cache, private
content-type: application/json
{
"message": "Unable to read key from file file://D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\storage\\oauth-public.key",
"exception": "LogicException",
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\league\\oauth2-server\\src\\CryptKey.php",
"line": 67,
"trace": [
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\passport\\src\\PassportServiceProvider.php",
"line": 275,
"function": "__construct",
"class": "League\\OAuth2\\Server\\CryptKey",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\passport\\src\\PassportServiceProvider.php",
"line": 256,
"function": "makeCryptKey",
"class": "Laravel\\Passport\\PassportServiceProvider",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 873,
"function": "Laravel\\Passport\\{closure}",
"class": "Laravel\\Passport\\PassportServiceProvider",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 758,
"function": "build",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Application.php",
"line": 851,
"function": "resolve",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 694,
"function": "resolve",
"class": "Illuminate\\Foundation\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Application.php",
"line": 836,
"function": "make",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\passport\\src\\PassportServiceProvider.php",
"line": 304,
"function": "make",
"class": "Illuminate\\Foundation\\Application",
"type": "->"
},
{
"function": "Laravel\\Passport\\{closure}",
"class": "Laravel\\Passport\\PassportServiceProvider",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\RequestGuard.php",
"line": 58,
"function": "call_user_func"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\GuardHelpers.php",
"line": 60,
"function": "user",
"class": "Illuminate\\Auth\\RequestGuard",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\Middleware\\Authenticate.php",
"line": 63,
"function": "check",
"class": "Illuminate\\Auth\\RequestGuard",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\Middleware\\Authenticate.php",
"line": 42,
"function": "authenticate",
"class": "Illuminate\\Auth\\Middleware\\Authenticate",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Auth\\Middleware\\Authenticate",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 103,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 723,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 698,
"function": "runRouteWithinStack",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 662,
"function": "runRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 651,
"function": "dispatchToRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 167,
"function": "dispatch",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 128,
"function": "Illuminate\\Foundation\\Http\\{closure}",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull.php",
"line": 31,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TrimStrings.php",
"line": 40,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TrimStrings",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize.php",
"line": 27,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance.php",
"line": 86,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\app\\Http\\Middleware\\Cors.php",
"line": 40,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "App\\Http\\Middleware\\Cors",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\fideloper\\proxy\\src\\TrustProxies.php",
"line": 57,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Fideloper\\Proxy\\TrustProxies",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 103,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 142,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 111,
"function": "sendRequestThroughRouter",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 299,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 287,
"function": "callLaravelOrLumenRoute",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 89,
"function": "makeApiCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 45,
"function": "makeResponseCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 35,
"function": "makeResponseCallIfConditionsPass",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 222,
"function": "__invoke",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 179,
"function": "iterateThroughStrategies",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 116,
"function": "fetchResponses",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 123,
"function": "processRoute",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 80,
"function": "extractEndpointsInfoFromLaravelApp",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 56,
"function": "extractEndpointsInfoAndWriteToDisk",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Commands\\GenerateDocumentation.php",
"line": 55,
"function": "get",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 36,
"function": "handle",
"class": "Knuckles\\Scribe\\Commands\\GenerateDocumentation",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Util.php",
"line": 40,
"function": "Illuminate\\Container\\{closure}",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 93,
"function": "unwrapIfClosure",
"class": "Illuminate\\Container\\Util",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 37,
"function": "callBoundMethod",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 653,
"function": "call",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
"line": 136,
"function": "call",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Command\\Command.php",
"line": 298,
"function": "execute",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
"line": 121,
"function": "run",
"class": "Symfony\\Component\\Console\\Command\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 1040,
"function": "run",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 301,
"function": "doRunCommand",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 171,
"function": "doRun",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Application.php",
"line": 94,
"function": "run",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Console\\Kernel.php",
"line": 129,
"function": "run",
"class": "Illuminate\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\artisan",
"line": 37,
"function": "handle",
"class": "Illuminate\\Foundation\\Console\\Kernel",
"type": "->"
}
]
}
Received response:
Request failed with error:
Store a newly created resource in storage.
Example request:
curl --request POST \
"http://localhost:8000/api/v1/organizations/1/default-sso-settings" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"lms_url\": \"ljaoymalmyektbhqjeyedcduizbybwittpgtxdunuuqsbhrduuvvqqdzjmgcnhhabiuzqygqiskelrdnbnsrcmdzcwgpcbkawhtejtufuzyxrjgpyoqamvrvpbbvqsttztjlrnffbjbrxcpkzjbormrznlxglauvvwzzaqmxutpfneykyeqxobzkflgjqtxxxuhkvzeeczi\",
\"lms_access_token\": \"xfncnkqdzpujansovnjkenxtzbbakcvyxcjlekqtsbyvwzeogmplnhlfinieqpqsjdabtgzmaienhzgikpohxskayzncnefdasgojyvmiuzauobwmntnlpjzemlktqvitzfrixthyklwenscdzrhaozrzntplvjbsgdkdbcikviezxvnfltlyofcxid\",
\"site_name\": \"vsmzffqpchhzxzkjzyulbixblzwlcmvlcmqoe\",
\"lti_client_id\": \"cjwptnanuonzddeghawrzwspcsjfnespnrbmgpqayepydioddxjr\",
\"lms_name\": \"qzevydpzyqqcalvomhmclfhbvavtkijdbtqbcrafyxceguvtykcqixlnrobaqmthoauhusnjflsmlouaqgftvbgkticymscknkksdnnfvtnfgeeurxheeviajnvfqmio\",
\"lms_access_key\": \"puxohmovtlrcqcocepnidrwzjyjkgitdmpxtkqipfxmesysedqxxskdiyjlxqhedagjvrlgysfgrbcwttqescvpjiepmllzcclwjrabphirpjzydqzuidplmcuwocjvcicslzbwhpqmivswkliqkhgjkicehcjwiyeuxqmgswzyqslzypzmdjnmedtcgxhokkzausrcejuxivctkzfnkum\",
\"lms_access_secret\": \"chwdamvydukfwnsfrwnwqkttjbqhyvzscaakeapfrzadtwoyupiudvoarvjjagykrgpftgmchgvudgcuepububnepnivcsckwbglgarcjpxvgxaryt\",
\"description\": \"olesqdgzuoul\",
\"organization_id\": \"maxime\",
\"role_id\": 1,
\"project_visibility\": true,
\"playlist_visibility\": false,
\"activity_visibility\": true
}"
const url = new URL(
"http://localhost:8000/api/v1/organizations/1/default-sso-settings"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"lms_url": "ljaoymalmyektbhqjeyedcduizbybwittpgtxdunuuqsbhrduuvvqqdzjmgcnhhabiuzqygqiskelrdnbnsrcmdzcwgpcbkawhtejtufuzyxrjgpyoqamvrvpbbvqsttztjlrnffbjbrxcpkzjbormrznlxglauvvwzzaqmxutpfneykyeqxobzkflgjqtxxxuhkvzeeczi",
"lms_access_token": "xfncnkqdzpujansovnjkenxtzbbakcvyxcjlekqtsbyvwzeogmplnhlfinieqpqsjdabtgzmaienhzgikpohxskayzncnefdasgojyvmiuzauobwmntnlpjzemlktqvitzfrixthyklwenscdzrhaozrzntplvjbsgdkdbcikviezxvnfltlyofcxid",
"site_name": "vsmzffqpchhzxzkjzyulbixblzwlcmvlcmqoe",
"lti_client_id": "cjwptnanuonzddeghawrzwspcsjfnespnrbmgpqayepydioddxjr",
"lms_name": "qzevydpzyqqcalvomhmclfhbvavtkijdbtqbcrafyxceguvtykcqixlnrobaqmthoauhusnjflsmlouaqgftvbgkticymscknkksdnnfvtnfgeeurxheeviajnvfqmio",
"lms_access_key": "puxohmovtlrcqcocepnidrwzjyjkgitdmpxtkqipfxmesysedqxxskdiyjlxqhedagjvrlgysfgrbcwttqescvpjiepmllzcclwjrabphirpjzydqzuidplmcuwocjvcicslzbwhpqmivswkliqkhgjkicehcjwiyeuxqmgswzyqslzypzmdjnmedtcgxhokkzausrcejuxivctkzfnkum",
"lms_access_secret": "chwdamvydukfwnsfrwnwqkttjbqhyvzscaakeapfrzadtwoyupiudvoarvjjagykrgpftgmchgvudgcuepububnepnivcsckwbglgarcjpxvgxaryt",
"description": "olesqdgzuoul",
"organization_id": "maxime",
"role_id": 1,
"project_visibility": true,
"playlist_visibility": false,
"activity_visibility": true
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/organizations/1/default-sso-settings',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'lms_url' => 'ljaoymalmyektbhqjeyedcduizbybwittpgtxdunuuqsbhrduuvvqqdzjmgcnhhabiuzqygqiskelrdnbnsrcmdzcwgpcbkawhtejtufuzyxrjgpyoqamvrvpbbvqsttztjlrnffbjbrxcpkzjbormrznlxglauvvwzzaqmxutpfneykyeqxobzkflgjqtxxxuhkvzeeczi',
'lms_access_token' => 'xfncnkqdzpujansovnjkenxtzbbakcvyxcjlekqtsbyvwzeogmplnhlfinieqpqsjdabtgzmaienhzgikpohxskayzncnefdasgojyvmiuzauobwmntnlpjzemlktqvitzfrixthyklwenscdzrhaozrzntplvjbsgdkdbcikviezxvnfltlyofcxid',
'site_name' => 'vsmzffqpchhzxzkjzyulbixblzwlcmvlcmqoe',
'lti_client_id' => 'cjwptnanuonzddeghawrzwspcsjfnespnrbmgpqayepydioddxjr',
'lms_name' => 'qzevydpzyqqcalvomhmclfhbvavtkijdbtqbcrafyxceguvtykcqixlnrobaqmthoauhusnjflsmlouaqgftvbgkticymscknkksdnnfvtnfgeeurxheeviajnvfqmio',
'lms_access_key' => 'puxohmovtlrcqcocepnidrwzjyjkgitdmpxtkqipfxmesysedqxxskdiyjlxqhedagjvrlgysfgrbcwttqescvpjiepmllzcclwjrabphirpjzydqzuidplmcuwocjvcicslzbwhpqmivswkliqkhgjkicehcjwiyeuxqmgswzyqslzypzmdjnmedtcgxhokkzausrcejuxivctkzfnkum',
'lms_access_secret' => 'chwdamvydukfwnsfrwnwqkttjbqhyvzscaakeapfrzadtwoyupiudvoarvjjagykrgpftgmchgvudgcuepububnepnivcsckwbglgarcjpxvgxaryt',
'description' => 'olesqdgzuoul',
'organization_id' => 'maxime',
'role_id' => 1,
'project_visibility' => true,
'playlist_visibility' => false,
'activity_visibility' => true,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Received response:
Request failed with error:
Display the specified resource.
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/organizations/1/default-sso-settings/20" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/organizations/1/default-sso-settings/20"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/organizations/1/default-sso-settings/20',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (500):
Show headers
cache-control: no-cache, private
content-type: application/json
{
"message": "Unable to read key from file file://D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\storage\\oauth-public.key",
"exception": "LogicException",
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\league\\oauth2-server\\src\\CryptKey.php",
"line": 67,
"trace": [
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\passport\\src\\PassportServiceProvider.php",
"line": 275,
"function": "__construct",
"class": "League\\OAuth2\\Server\\CryptKey",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\passport\\src\\PassportServiceProvider.php",
"line": 256,
"function": "makeCryptKey",
"class": "Laravel\\Passport\\PassportServiceProvider",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 873,
"function": "Laravel\\Passport\\{closure}",
"class": "Laravel\\Passport\\PassportServiceProvider",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 758,
"function": "build",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Application.php",
"line": 851,
"function": "resolve",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 694,
"function": "resolve",
"class": "Illuminate\\Foundation\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Application.php",
"line": 836,
"function": "make",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\passport\\src\\PassportServiceProvider.php",
"line": 304,
"function": "make",
"class": "Illuminate\\Foundation\\Application",
"type": "->"
},
{
"function": "Laravel\\Passport\\{closure}",
"class": "Laravel\\Passport\\PassportServiceProvider",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\RequestGuard.php",
"line": 58,
"function": "call_user_func"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\GuardHelpers.php",
"line": 60,
"function": "user",
"class": "Illuminate\\Auth\\RequestGuard",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\Middleware\\Authenticate.php",
"line": 63,
"function": "check",
"class": "Illuminate\\Auth\\RequestGuard",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\Middleware\\Authenticate.php",
"line": 42,
"function": "authenticate",
"class": "Illuminate\\Auth\\Middleware\\Authenticate",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Auth\\Middleware\\Authenticate",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 103,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 723,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 698,
"function": "runRouteWithinStack",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 662,
"function": "runRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 651,
"function": "dispatchToRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 167,
"function": "dispatch",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 128,
"function": "Illuminate\\Foundation\\Http\\{closure}",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull.php",
"line": 31,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TrimStrings.php",
"line": 40,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TrimStrings",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize.php",
"line": 27,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance.php",
"line": 86,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\app\\Http\\Middleware\\Cors.php",
"line": 40,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "App\\Http\\Middleware\\Cors",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\fideloper\\proxy\\src\\TrustProxies.php",
"line": 57,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Fideloper\\Proxy\\TrustProxies",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 103,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 142,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 111,
"function": "sendRequestThroughRouter",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 299,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 287,
"function": "callLaravelOrLumenRoute",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 89,
"function": "makeApiCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 45,
"function": "makeResponseCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 35,
"function": "makeResponseCallIfConditionsPass",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 222,
"function": "__invoke",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 179,
"function": "iterateThroughStrategies",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 116,
"function": "fetchResponses",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 123,
"function": "processRoute",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 80,
"function": "extractEndpointsInfoFromLaravelApp",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 56,
"function": "extractEndpointsInfoAndWriteToDisk",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Commands\\GenerateDocumentation.php",
"line": 55,
"function": "get",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 36,
"function": "handle",
"class": "Knuckles\\Scribe\\Commands\\GenerateDocumentation",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Util.php",
"line": 40,
"function": "Illuminate\\Container\\{closure}",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 93,
"function": "unwrapIfClosure",
"class": "Illuminate\\Container\\Util",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 37,
"function": "callBoundMethod",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 653,
"function": "call",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
"line": 136,
"function": "call",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Command\\Command.php",
"line": 298,
"function": "execute",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
"line": 121,
"function": "run",
"class": "Symfony\\Component\\Console\\Command\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 1040,
"function": "run",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 301,
"function": "doRunCommand",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 171,
"function": "doRun",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Application.php",
"line": 94,
"function": "run",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Console\\Kernel.php",
"line": 129,
"function": "run",
"class": "Illuminate\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\artisan",
"line": 37,
"function": "handle",
"class": "Illuminate\\Foundation\\Console\\Kernel",
"type": "->"
}
]
}
Received response:
Request failed with error:
Update the specified resource in storage.
Example request:
curl --request PUT \
"http://localhost:8000/api/v1/organizations/1/default-sso-settings/1" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"lms_url\": \"ftqnsonsyxtqmuykltqaerfusxsvlrfkbfagsptitjbrccwgyzdkkkgszuambjqwdxw\",
\"lms_access_token\": \"fclyyacehmotaiinufdbwlvbdanyhuhtcveoypmeheygyafbdbimdcibuuoidxaitkuepbnykxlzrwxfkmuzkvgqoefpfygpmeaablbwaxvxsycmnlzddogdvhamxhsscqnxknfhvubqxmlbwfbgsntpyiu\",
\"site_name\": \"yodlrsz\",
\"lti_client_id\": \"wvuxefnqxhucehraktmxbyomppwdukckghzbmdehtjkfrqeudoushcohorzmimczfgdwpiakfgvvnucvvml\",
\"lms_name\": \"kpkxvvejmavplqkbsrigzmsgymtqljrzqclwxak\",
\"lms_access_key\": \"wbkhqswuehpiebxzdspvbkcgqhkafbwqjxdjwbwmo\",
\"lms_access_secret\": \"ynxzeevxjodutkkypgchjsyetcgbqprathjiblgznpmyfiqtvnipamafqwoevaoyahesixisnjnpddavqscnvbkdzgsoaxemvilcilgofcqizjvjxcfqrwvwjanuchfwxrwjrgamoqpudsnqrtzmhffieexxhpfpjhmzevrkbqvyexfrlgiyrfmnokcbfgfmcdrbsvduscoagbljkkqjlwzvdjfl\",
\"description\": \"ypmnoxpkdfrauebpxztxngcxtgufxzhlvsvcnhmrhdwkvznwcayvlefdyissiggdyjesfoqnmmraowykfavxikjzhckkqxcomdgcafxiztjlkmujjfwoybryszzgxndsjkebslqzinfntfjjbcqqeqwmvnqzfscubwtxclgehi\",
\"organization_id\": \"voluptatem\",
\"role_id\": 13,
\"project_visibility\": true,
\"playlist_visibility\": true,
\"activity_visibility\": false
}"
const url = new URL(
"http://localhost:8000/api/v1/organizations/1/default-sso-settings/1"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"lms_url": "ftqnsonsyxtqmuykltqaerfusxsvlrfkbfagsptitjbrccwgyzdkkkgszuambjqwdxw",
"lms_access_token": "fclyyacehmotaiinufdbwlvbdanyhuhtcveoypmeheygyafbdbimdcibuuoidxaitkuepbnykxlzrwxfkmuzkvgqoefpfygpmeaablbwaxvxsycmnlzddogdvhamxhsscqnxknfhvubqxmlbwfbgsntpyiu",
"site_name": "yodlrsz",
"lti_client_id": "wvuxefnqxhucehraktmxbyomppwdukckghzbmdehtjkfrqeudoushcohorzmimczfgdwpiakfgvvnucvvml",
"lms_name": "kpkxvvejmavplqkbsrigzmsgymtqljrzqclwxak",
"lms_access_key": "wbkhqswuehpiebxzdspvbkcgqhkafbwqjxdjwbwmo",
"lms_access_secret": "ynxzeevxjodutkkypgchjsyetcgbqprathjiblgznpmyfiqtvnipamafqwoevaoyahesixisnjnpddavqscnvbkdzgsoaxemvilcilgofcqizjvjxcfqrwvwjanuchfwxrwjrgamoqpudsnqrtzmhffieexxhpfpjhmzevrkbqvyexfrlgiyrfmnokcbfgfmcdrbsvduscoagbljkkqjlwzvdjfl",
"description": "ypmnoxpkdfrauebpxztxngcxtgufxzhlvsvcnhmrhdwkvznwcayvlefdyissiggdyjesfoqnmmraowykfavxikjzhckkqxcomdgcafxiztjlkmujjfwoybryszzgxndsjkebslqzinfntfjjbcqqeqwmvnqzfscubwtxclgehi",
"organization_id": "voluptatem",
"role_id": 13,
"project_visibility": true,
"playlist_visibility": true,
"activity_visibility": false
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->put(
'http://localhost:8000/api/v1/organizations/1/default-sso-settings/1',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'lms_url' => 'ftqnsonsyxtqmuykltqaerfusxsvlrfkbfagsptitjbrccwgyzdkkkgszuambjqwdxw',
'lms_access_token' => 'fclyyacehmotaiinufdbwlvbdanyhuhtcveoypmeheygyafbdbimdcibuuoidxaitkuepbnykxlzrwxfkmuzkvgqoefpfygpmeaablbwaxvxsycmnlzddogdvhamxhsscqnxknfhvubqxmlbwfbgsntpyiu',
'site_name' => 'yodlrsz',
'lti_client_id' => 'wvuxefnqxhucehraktmxbyomppwdukckghzbmdehtjkfrqeudoushcohorzmimczfgdwpiakfgvvnucvvml',
'lms_name' => 'kpkxvvejmavplqkbsrigzmsgymtqljrzqclwxak',
'lms_access_key' => 'wbkhqswuehpiebxzdspvbkcgqhkafbwqjxdjwbwmo',
'lms_access_secret' => 'ynxzeevxjodutkkypgchjsyetcgbqprathjiblgznpmyfiqtvnipamafqwoevaoyahesixisnjnpddavqscnvbkdzgsoaxemvilcilgofcqizjvjxcfqrwvwjanuchfwxrwjrgamoqpudsnqrtzmhffieexxhpfpjhmzevrkbqvyexfrlgiyrfmnokcbfgfmcdrbsvduscoagbljkkqjlwzvdjfl',
'description' => 'ypmnoxpkdfrauebpxztxngcxtgufxzhlvsvcnhmrhdwkvznwcayvlefdyissiggdyjesfoqnmmraowykfavxikjzhckkqxcomdgcafxiztjlkmujjfwoybryszzgxndsjkebslqzinfntfjjbcqqeqwmvnqzfscubwtxclgehi',
'organization_id' => 'voluptatem',
'role_id' => 13,
'project_visibility' => true,
'playlist_visibility' => true,
'activity_visibility' => false,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Received response:
Request failed with error:
Remove the specified resource from storage.
Remove the specified resource from storage.
Example request:
curl --request DELETE \
"http://localhost:8000/api/v1/organizations/1/default-sso-settings/12" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/organizations/1/default-sso-settings/12"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->delete(
'http://localhost:8000/api/v1/organizations/1/default-sso-settings/12',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Received response:
Request failed with error:
XApi File
Download XApi File
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/go/getxapifile/761" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/go/getxapifile/761"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/go/getxapifile/761',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
{
"message": "No query results for model [App\\Models\\Activity] 1",
"exception": "Symfony\\Component\\HttpKernel\\Exception\\NotFoundHttpException",
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Exceptions\\Handler.php",
"line": 385,
"trace": [
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Exceptions\\Handler.php",
"line": 332,
"function": "prepareException",
"class": "Illuminate\\Foundation\\Exceptions\\Handler",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\app\\Exceptions\\Handler.php",
"line": 53,
"function": "render",
"class": "Illuminate\\Foundation\\Exceptions\\Handler",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\nunomaduro\\collision\\src\\Adapters\\Laravel\\ExceptionHandler.php",
"line": 54,
"function": "render",
"class": "App\\Exceptions\\Handler",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Pipeline.php",
"line": 51,
"function": "render",
"class": "NunoMaduro\\Collision\\Adapters\\Laravel\\ExceptionHandler",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 172,
"function": "handleException",
"class": "Illuminate\\Routing\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 103,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 723,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 698,
"function": "runRouteWithinStack",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 662,
"function": "runRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 651,
"function": "dispatchToRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 167,
"function": "dispatch",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 128,
"function": "Illuminate\\Foundation\\Http\\{closure}",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull.php",
"line": 31,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TrimStrings.php",
"line": 40,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TrimStrings",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize.php",
"line": 27,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance.php",
"line": 86,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\app\\Http\\Middleware\\Cors.php",
"line": 40,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "App\\Http\\Middleware\\Cors",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\fideloper\\proxy\\src\\TrustProxies.php",
"line": 57,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Fideloper\\Proxy\\TrustProxies",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 103,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 142,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 111,
"function": "sendRequestThroughRouter",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 299,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 287,
"function": "callLaravelOrLumenRoute",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 89,
"function": "makeApiCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 45,
"function": "makeResponseCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 35,
"function": "makeResponseCallIfConditionsPass",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 222,
"function": "__invoke",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 179,
"function": "iterateThroughStrategies",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 116,
"function": "fetchResponses",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 123,
"function": "processRoute",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 80,
"function": "extractEndpointsInfoFromLaravelApp",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 56,
"function": "extractEndpointsInfoAndWriteToDisk",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Commands\\GenerateDocumentation.php",
"line": 55,
"function": "get",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 36,
"function": "handle",
"class": "Knuckles\\Scribe\\Commands\\GenerateDocumentation",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Util.php",
"line": 40,
"function": "Illuminate\\Container\\{closure}",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 93,
"function": "unwrapIfClosure",
"class": "Illuminate\\Container\\Util",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 37,
"function": "callBoundMethod",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 653,
"function": "call",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
"line": 136,
"function": "call",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Command\\Command.php",
"line": 298,
"function": "execute",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
"line": 121,
"function": "run",
"class": "Symfony\\Component\\Console\\Command\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 1040,
"function": "run",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 301,
"function": "doRunCommand",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 171,
"function": "doRun",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Application.php",
"line": 94,
"function": "run",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Console\\Kernel.php",
"line": 129,
"function": "run",
"class": "Illuminate\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\artisan",
"line": 37,
"function": "handle",
"class": "Illuminate\\Foundation\\Console\\Kernel",
"type": "->"
}
]
}
Received response:
Request failed with error:
GET api/v1/h5p/ajax/files
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/h5p/ajax/files" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/h5p/ajax/files"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/h5p/ajax/files',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (500):
Show headers
cache-control: no-cache, private
content-type: application/json
{
"message": "Undefined index: REQUEST_METHOD",
"exception": "ErrorException",
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\H5P\\laravel-h5p\\src\\LaravelH5p\\Http\\Controllers\\AjaxController.php",
"line": 151,
"trace": [
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\H5P\\laravel-h5p\\src\\LaravelH5p\\Http\\Controllers\\AjaxController.php",
"line": 151,
"function": "handleError",
"class": "Illuminate\\Foundation\\Bootstrap\\HandleExceptions",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Controller.php",
"line": 54,
"function": "files",
"class": "Djoudi\\LaravelH5p\\Http\\Controllers\\AjaxController",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\ControllerDispatcher.php",
"line": 45,
"function": "callAction",
"class": "Illuminate\\Routing\\Controller",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Route.php",
"line": 262,
"function": "dispatch",
"class": "Illuminate\\Routing\\ControllerDispatcher",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Route.php",
"line": 205,
"function": "runController",
"class": "Illuminate\\Routing\\Route",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 721,
"function": "run",
"class": "Illuminate\\Routing\\Route",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 128,
"function": "Illuminate\\Routing\\{closure}",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Middleware\\SubstituteBindings.php",
"line": 50,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Routing\\Middleware\\SubstituteBindings",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 103,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 723,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 698,
"function": "runRouteWithinStack",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 662,
"function": "runRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 651,
"function": "dispatchToRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 167,
"function": "dispatch",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 128,
"function": "Illuminate\\Foundation\\Http\\{closure}",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull.php",
"line": 31,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TrimStrings.php",
"line": 40,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TrimStrings",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize.php",
"line": 27,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance.php",
"line": 86,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\app\\Http\\Middleware\\Cors.php",
"line": 40,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "App\\Http\\Middleware\\Cors",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\fideloper\\proxy\\src\\TrustProxies.php",
"line": 57,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Fideloper\\Proxy\\TrustProxies",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 103,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 142,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 111,
"function": "sendRequestThroughRouter",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 299,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 287,
"function": "callLaravelOrLumenRoute",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 89,
"function": "makeApiCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 45,
"function": "makeResponseCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 35,
"function": "makeResponseCallIfConditionsPass",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 222,
"function": "__invoke",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 179,
"function": "iterateThroughStrategies",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 116,
"function": "fetchResponses",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 123,
"function": "processRoute",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 80,
"function": "extractEndpointsInfoFromLaravelApp",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 56,
"function": "extractEndpointsInfoAndWriteToDisk",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Commands\\GenerateDocumentation.php",
"line": 55,
"function": "get",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 36,
"function": "handle",
"class": "Knuckles\\Scribe\\Commands\\GenerateDocumentation",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Util.php",
"line": 40,
"function": "Illuminate\\Container\\{closure}",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 93,
"function": "unwrapIfClosure",
"class": "Illuminate\\Container\\Util",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 37,
"function": "callBoundMethod",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 653,
"function": "call",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
"line": 136,
"function": "call",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Command\\Command.php",
"line": 298,
"function": "execute",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
"line": 121,
"function": "run",
"class": "Symfony\\Component\\Console\\Command\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 1040,
"function": "run",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 301,
"function": "doRunCommand",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 171,
"function": "doRun",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Application.php",
"line": 94,
"function": "run",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Console\\Kernel.php",
"line": 129,
"function": "run",
"class": "Illuminate\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\artisan",
"line": 37,
"function": "handle",
"class": "Illuminate\\Foundation\\Console\\Kernel",
"type": "->"
}
]
}
Received response:
Request failed with error:
GET api/v1/h5p/export/{id}
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/h5p/export/iusto" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/h5p/export/iusto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/h5p/export/iusto',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (500):
Show headers
cache-control: no-cache, private
content-type: application/json
{
"message": "SQLSTATE[22P02]: Invalid text representation: 7 ERROR: invalid input syntax for type bigint: \"iusto\" (SQL: \r\n SELECT hc.id\r\n , hc.title\r\n , hc.parameters AS params\r\n , hc.filtered\r\n , hc.slug AS slug\r\n , hc.user_id\r\n , hc.embed_type AS \"embedType\"\r\n , hc.disable\r\n , hl.id AS \"libraryId\"\r\n , hl.name AS \"libraryName\"\r\n , hl.major_version AS \"libraryMajorVersion\"\r\n , hl.minor_version AS \"libraryMinorVersion\"\r\n , hl.embed_types AS \"libraryEmbedTypes\"\r\n , hl.fullscreen AS \"libraryFullscreen\"\r\n , hc.authors AS \"authors\"\r\n , hc.source AS \"source\"\r\n , hc.year_from AS \"yearFrom\"\r\n , hc.year_to AS \"yearTo\"\r\n , hc.license AS \"license\"\r\n , hc.license_version AS \"licenseVersion\"\r\n , hc.license_extras AS \"licenseExtras\"\r\n , hc.author_comments AS \"authorComments\"\r\n , hc.changes AS \"changes\"\r\n , hc.default_language AS \"defaultLanguage\"\r\n FROM h5p_contents hc\r\n JOIN h5p_libraries hl ON hl.id = hc.library_id\r\n WHERE hc.id = iusto\r\n )",
"exception": "Illuminate\\Database\\QueryException",
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Database\\Connection.php",
"line": 712,
"trace": [
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Database\\Connection.php",
"line": 672,
"function": "runQueryCallback",
"class": "Illuminate\\Database\\Connection",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Database\\Connection.php",
"line": 376,
"function": "run",
"class": "Illuminate\\Database\\Connection",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Database\\DatabaseManager.php",
"line": 442,
"function": "select",
"class": "Illuminate\\Database\\Connection",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Support\\Facades\\Facade.php",
"line": 261,
"function": "__call",
"class": "Illuminate\\Database\\DatabaseManager",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\H5P\\laravel-h5p\\src\\LaravelH5p\\Repositories\\LaravelH5pRepository.php",
"line": 722,
"function": "__callStatic",
"class": "Illuminate\\Support\\Facades\\Facade",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\h5p\\h5p-core\\h5p.classes.php",
"line": 2111,
"function": "loadContent",
"class": "Djoudi\\LaravelH5p\\Repositories\\LaravelH5pRepository",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\H5P\\laravel-h5p\\src\\LaravelH5p\\Http\\Controllers\\DownloadController.php",
"line": 19,
"function": "loadContent",
"class": "H5PCore",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Controller.php",
"line": 54,
"function": "__invoke",
"class": "Djoudi\\LaravelH5p\\Http\\Controllers\\DownloadController",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\ControllerDispatcher.php",
"line": 45,
"function": "callAction",
"class": "Illuminate\\Routing\\Controller",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Route.php",
"line": 262,
"function": "dispatch",
"class": "Illuminate\\Routing\\ControllerDispatcher",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Route.php",
"line": 205,
"function": "runController",
"class": "Illuminate\\Routing\\Route",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 721,
"function": "run",
"class": "Illuminate\\Routing\\Route",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 128,
"function": "Illuminate\\Routing\\{closure}",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Middleware\\SubstituteBindings.php",
"line": 50,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Routing\\Middleware\\SubstituteBindings",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 103,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 723,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 698,
"function": "runRouteWithinStack",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 662,
"function": "runRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
"line": 651,
"function": "dispatchToRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 167,
"function": "dispatch",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 128,
"function": "Illuminate\\Foundation\\Http\\{closure}",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull.php",
"line": 31,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TrimStrings.php",
"line": 40,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TrimStrings",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize.php",
"line": 27,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance.php",
"line": 86,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\app\\Http\\Middleware\\Cors.php",
"line": 40,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "App\\Http\\Middleware\\Cors",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\fideloper\\proxy\\src\\TrustProxies.php",
"line": 57,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 167,
"function": "handle",
"class": "Fideloper\\Proxy\\TrustProxies",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
"line": 103,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 142,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
"line": 111,
"function": "sendRequestThroughRouter",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 299,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 287,
"function": "callLaravelOrLumenRoute",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 89,
"function": "makeApiCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 45,
"function": "makeResponseCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\ResponseCalls.php",
"line": 35,
"function": "makeResponseCallIfConditionsPass",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 222,
"function": "__invoke",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 179,
"function": "iterateThroughStrategies",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Extractor.php",
"line": 116,
"function": "fetchResponses",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 123,
"function": "processRoute",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 80,
"function": "extractEndpointsInfoFromLaravelApp",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\GroupedEndpoints\\GroupedEndpointsFromApp.php",
"line": 56,
"function": "extractEndpointsInfoAndWriteToDisk",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\knuckleswtf\\scribe\\src\\Commands\\GenerateDocumentation.php",
"line": 55,
"function": "get",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 36,
"function": "handle",
"class": "Knuckles\\Scribe\\Commands\\GenerateDocumentation",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Util.php",
"line": 40,
"function": "Illuminate\\Container\\{closure}",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 93,
"function": "unwrapIfClosure",
"class": "Illuminate\\Container\\Util",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
"line": 37,
"function": "callBoundMethod",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
"line": 653,
"function": "call",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
"line": 136,
"function": "call",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Command\\Command.php",
"line": 298,
"function": "execute",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
"line": 121,
"function": "run",
"class": "Symfony\\Component\\Console\\Command\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 1040,
"function": "run",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 301,
"function": "doRunCommand",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\symfony\\console\\Application.php",
"line": 171,
"function": "doRun",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Application.php",
"line": 94,
"function": "run",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Console\\Kernel.php",
"line": 129,
"function": "run",
"class": "Illuminate\\Console\\Application",
"type": "->"
},
{
"file": "D:\\wamp64\\www\\ActiveLearningStudio-API-laravel-8\\artisan",
"line": 37,
"function": "handle",
"class": "Illuminate\\Foundation\\Console\\Kernel",
"type": "->"
}
]
}
Received response:
Request failed with error:
Canvas Teacher's data.
Save Canvas Teacher's data.
Example request:
curl --request POST \
"http://localhost:8000/api/v1/go/passLtiCourseDetails" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/go/passLtiCourseDetails"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/go/passLtiCourseDetails',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Received response:
Request failed with error:
Display error
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/error" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/error"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/error',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (401):
{
"errors": [
"Unauthorized."
]
}
Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
{
"errors": [
"Unauthorized."
]
}
Received response:
Request failed with error:
Users Basic Report
Returns the paginated response of the users with basic reporting (DataTables are fully supported - All Params).
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/admin/users/report/basic?start=0&length=25" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/admin/users/report/basic"
);
const params = {
"start": "0",
"length": "25",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/admin/users/report/basic',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'start'=> '0',
'length'=> '25',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"current_page": 1,
"data": [
{
"id": 1242,
"first_name": "123security",
"last_name": "products",
"email": "wirelessproducts.wl@gmail.com",
"projects_count": 2,
"playlists_count": 9,
"activities_count": 60
},
{
"id": 824,
"first_name": "168xoso",
"last_name": "com",
"email": "168xosocom@gmail.com",
"projects_count": 2,
"playlists_count": 9,
"activities_count": 60
}
],
"first_page_url": "https://currikistudio.org/api/api/api/v1/admin/users/report/basic?page=1",
"from": 1,
"last_page": 816,
"last_page_url": "https://currikistudio.org/api/api/api/v1/admin/users/report/basic?page=816",
"next_page_url": "https://currikistudio.org/api/api/api/v1/admin/users/report/basic?page=2",
"path": "https://currikistudio.org/api/api/api/v1/admin/users/report/basic",
"per_page": "2",
"prev_page_url": null,
"to": 2,
"total": 1632
}
Received response:
Request failed with error:
Bulk Import
Bulk import the users from CSV file.
Example request:
curl --request POST \
"http://localhost:8000/api/v1/admin/users/bulk/import" \
--header "Content-Type: multipart/form-data" \
--header "Accept: application/json" \
--form "import_file=@C:\Users\Administrator\AppData\Local\Temp\php51EF.tmp" const url = new URL(
"http://localhost:8000/api/v1/admin/users/bulk/import"
);
const headers = {
"Content-Type": "multipart/form-data",
"Accept": "application/json",
};
const body = new FormData();
body.append('import_file', document.querySelector('input[name="import_file"]').files[0]);
fetch(url, {
method: "POST",
headers,
body,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/admin/users/bulk/import',
[
'headers' => [
'Content-Type' => 'multipart/form-data',
'Accept' => 'application/json',
],
'multipart' => [
[
'name' => 'import_file',
'contents' => fopen('C:\Users\Administrator\AppData\Local\Temp\php51EF.tmp', 'r')
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (206):
{
"errors": [
"Failed to import some rows data, please download detailed error report."
],
"report": "https://currikistudio.org/api/storage/temporary/users-import-report.csv"
}
Example response (200):
{
"message": "All users data imported successfully!"
}
Example response (500):
{
"errors": [
"Empty or bad formatted file, please download sample file for proper format."
]
}
Received response:
Request failed with error:
Change User Role
Make any user admin or remove from admin.
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/admin/users/2/roles/1" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/admin/users/2/roles/1"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/admin/users/2/roles/1',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "User role is changed successfully!"
}
Example response (500):
{
"errors": [
"You cannot change the role of yourself."
]
}
Received response:
Request failed with error:
Get All Users List
Returns the paginated response with pagination links (DataTables are fully supported - All Params).
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/admin/users?start=0&length=25" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/admin/users"
);
const params = {
"start": "0",
"length": "25",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/admin/users',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'start'=> '0',
'length'=> '25',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": [
{
"id": 1242,
"name": "123security products",
"email": "wirelessproducts.wl@gmail.com",
"first_name": "123security",
"last_name": "products",
"job_title": "123securityproducts",
"organization_type": "Architecture design",
"is_admin": false,
"organization_name": "North Kansas City Schools"
},
{
"id": 824,
"name": "168xoso com",
"email": "168xosocom@gmail.com",
"first_name": "168xoso",
"last_name": "com",
"job_title": "",
"organization_type": "K-12",
"is_admin": false,
"organization_name": "North Kansas City Schools"
}
],
"links": {
"first": "https://www.currikistudio.org/api/v1/admin/users?page=1",
"last": "https://www.currikistudio.org/api/v1/admin/users?page=66",
"prev": null,
"next": "https://www.currikistudio.org/api/v1/admin/users?page=2"
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 66,
"path": "https://www.currikistudio.org/api/v1/admin/users",
"per_page": "25",
"to": 25,
"total": 1632
}
}
Received response:
Request failed with error:
Create User
Creates the new user in database.
Example request:
curl --request POST \
"http://localhost:8000/api/v1/admin/users" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"first_name\": \"Ahmad\",
\"last_name\": \"Mukhtar\",
\"organization_name\": \"Studio\",
\"organization_type\": \"K-12\",
\"job_title\": \"2\",
\"email\": \"ahmedmukhtar1133@gmail.com\",
\"password\": \"kljd@Fi4R\"
}"
const url = new URL(
"http://localhost:8000/api/v1/admin/users"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"first_name": "Ahmad",
"last_name": "Mukhtar",
"organization_name": "Studio",
"organization_type": "K-12",
"job_title": "2",
"email": "ahmedmukhtar1133@gmail.com",
"password": "kljd@Fi4R"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/admin/users',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'first_name' => 'Ahmad',
'last_name' => 'Mukhtar',
'organization_name' => 'Studio',
'organization_type' => 'K-12',
'job_title' => '2',
'email' => 'ahmedmukhtar1133@gmail.com',
'password' => 'kljd@Fi4R',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "User created successfully!",
"data": [
"Created User Data Array"
]
}
Example response (500):
{
"errors": [
"Unable to create user, please try again later."
]
}
Received response:
Request failed with error:
Get Specified User
Get the specified user data.
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/admin/users/2" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/admin/users/2"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/admin/users/2',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": {
"id": 1,
"name": "Sample User",
"email": "sample_user@test.com",
"first_name": "Sample",
"last_name": "User",
"job_title": "Developer",
"organization_type": "Architecture design",
"is_admin": true,
"organization_name": "North Kansas City Schools",
"projects": [
{
"id": 9874,
"name": "Activity Sampler",
"description": "Studio Demos",
"thumb_url": "",
"shared": true,
"starter_project": false,
"is_user_starter": true,
"cloned_from": 68,
"clone_ctr": 0,
"status": 1,
"status_text": "DRAFT",
"indexing": null,
"indexing_text": "NOT REQUESTED",
"created_at": "09-Oct-2020",
"updated_at": "15-Oct-2020"
},
{
"id": 9952,
"name": "Activity Sampler",
"description": "Studio Demos",
"thumb_url": "",
"shared": true,
"starter_project": false,
"is_user_starter": true,
"cloned_from": 68,
"clone_ctr": 0,
"status": 1,
"status_text": "DRAFT",
"indexing": null,
"indexing_text": "NOT REQUESTED",
"created_at": "09-Oct-2020",
"updated_at": "15-Oct-2020"
},
{
"id": 80127,
"name": "Testing creation",
"description": "Testing after creation.",
"thumb_url": "https://images.pexels.com/photos/3169299/pexels-photo-3169299.jpeg?auto=compress&cs=tinysrgb&dpr=1&fit=crop&h=200&w=280",
"shared": false,
"starter_project": null,
"is_user_starter": false,
"cloned_from": null,
"clone_ctr": 0,
"status": 1,
"status_text": "DRAFT",
"indexing": null,
"indexing_text": "NOT REQUESTED",
"created_at": "15-Oct-2020",
"updated_at": "15-Oct-2020"
},
{
"id": 80071,
"name": "Test",
"description": "test",
"thumb_url": "",
"shared": false,
"starter_project": null,
"is_user_starter": false,
"cloned_from": null,
"clone_ctr": 0,
"status": 2,
"status_text": "FINISHED",
"indexing": null,
"indexing_text": "NOT REQUESTED",
"created_at": "13-Oct-2020",
"updated_at": "15-Oct-2020"
},
{
"id": 80074,
"name": "Boolean Type Cast Testing",
"description": "Test",
"thumb_url": "",
"shared": false,
"starter_project": null,
"is_user_starter": false,
"cloned_from": null,
"clone_ctr": 0,
"status": 2,
"status_text": "FINISHED",
"indexing": null,
"indexing_text": "NOT REQUESTED",
"created_at": "13-Oct-2020",
"updated_at": "15-Oct-2020"
},
{
"id": 2118,
"name": "How well do you know?",
"description": "How well do you know me?",
"thumb_url": "",
"shared": true,
"starter_project": null,
"is_user_starter": false,
"cloned_from": null,
"clone_ctr": 0,
"status": 1,
"status_text": "DRAFT",
"indexing": null,
"indexing_text": "NOT REQUESTED",
"created_at": "16-Sep-2020",
"updated_at": "15-Oct-2020"
},
{
"id": 2170,
"name": "Math Review",
"description": "Math Review Unit 2",
"thumb_url": "",
"shared": false,
"starter_project": null,
"is_user_starter": false,
"cloned_from": null,
"clone_ctr": 0,
"status": 1,
"status_text": "DRAFT",
"indexing": null,
"indexing_text": "NOT REQUESTED",
"created_at": "16-Sep-2020",
"updated_at": "15-Oct-2020"
},
{
"id": 2169,
"name": "Test",
"description": "Exit Ticket test",
"thumb_url": "",
"shared": false,
"starter_project": null,
"is_user_starter": false,
"cloned_from": null,
"clone_ctr": 0,
"status": 1,
"status_text": "DRAFT",
"indexing": null,
"indexing_text": "NOT REQUESTED",
"created_at": "16-Sep-2020",
"updated_at": "15-Oct-2020"
}
]
}
}
Received response:
Request failed with error:
Update Specified User
Updates the user data in database.
Example request:
curl --request PUT \
"http://localhost:8000/api/v1/admin/users/2" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"first_name\": \"Ahmad\",
\"last_name\": \"Mukhtar\",
\"organization_name\": \"Studio\",
\"organization_type\": \"K-12\",
\"job_title\": \"2\",
\"email\": \"ahmedmukhtar1133@gmail.com\",
\"password\": \"kljd@Fi4R\"
}"
const url = new URL(
"http://localhost:8000/api/v1/admin/users/2"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"first_name": "Ahmad",
"last_name": "Mukhtar",
"organization_name": "Studio",
"organization_type": "K-12",
"job_title": "2",
"email": "ahmedmukhtar1133@gmail.com",
"password": "kljd@Fi4R"
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->put(
'http://localhost:8000/api/v1/admin/users/2',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'first_name' => 'Ahmad',
'last_name' => 'Mukhtar',
'organization_name' => 'Studio',
'organization_type' => 'K-12',
'job_title' => '2',
'email' => 'ahmedmukhtar1133@gmail.com',
'password' => 'kljd@Fi4R',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "User data updated successfully!",
"data": [
"Updated User Data Array"
]
}
Example response (500):
{
"errors": [
"Unable to update user, please try again later."
]
}
Received response:
Request failed with error:
Delete Specified User
Deletes the user record from database.
Example request:
curl --request DELETE \
"http://localhost:8000/api/v1/admin/users/2" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/admin/users/2"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->delete(
'http://localhost:8000/api/v1/admin/users/2',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "User deleted successfully!",
}
Example response (500):
{
"errors": [
"You cannot delete your own user."
]
}
Example response (500):
{
"errors": [
"Unable to delete user, please try again later."
]
}
Received response:
Request failed with error:
Projects indexing Bulk
Modify the index value of a projects in bulk.
Example request:
curl --request POST \
"http://localhost:8000/api/v1/admin/projects/indexes" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"index_projects\": [
1,
2,
3
],
\"index\": 3
}"
const url = new URL(
"http://localhost:8000/api/v1/admin/projects/indexes"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"index_projects": [
1,
2,
3
],
"index": 3
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/admin/projects/indexes',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'index_projects' => [
1,
2,
3,
],
'index' => 3,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "Indexes updated successfully!",
}
Example response (500):
{
"errors": [
"Unable to update indexes, please try again later!"
]
}
Received response:
Request failed with error:
Starter Project Toggle
Toggle the starter flag of any project
Example request:
curl --request POST \
"http://localhost:8000/api/v1/admin/projects/starter/ut" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"projects\": [
1,
2,
3
],
\"flag\": true
}"
const url = new URL(
"http://localhost:8000/api/v1/admin/projects/starter/ut"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"projects": [
1,
2,
3
],
"flag": true
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/admin/projects/starter/ut',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'projects' => [
1,
2,
3,
],
'flag' => true,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "Starter Projects status updated successfully!",
}
Example response (500):
{
"errors": [
"Choose at-least one project."
]
}
Received response:
Request failed with error:
Project Indexing
Modify the index value of a project.
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/admin/projects/3024/indexes/3" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/admin/projects/3024/indexes/3"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/admin/projects/3024/indexes/3',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "Library status changed successfully!",
}
Example response (500):
{
"errors": [
"Invalid Library value provided."
]
}
Received response:
Request failed with error:
Get the shared project
Get the specified project data.
Get All Projects.
Returns the paginated response with pagination links (DataTables are fully supported - All Params).
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/admin/projects?mode=1&indexing=1&exclude_starter=0&start=0&length=25" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/admin/projects"
);
const params = {
"mode": "1",
"indexing": "1",
"exclude_starter": "0",
"start": "0",
"length": "25",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/admin/projects',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'mode'=> '1',
'indexing'=> '1',
'exclude_starter'=> '0',
'start'=> '0',
'length'=> '25',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": [
{
"id": 1,
"name": "The Science of Golf",
"description": "Uncover the science, technology, engineering, and mathematics behind the game of golf.",
"thumb_url": "/storage/uploads/nN5y8v8zh2ghxrKuHCv5wvJOREFw0Nr27s2DPxWq.png",
"shared": false,
"starter_project": false,
"is_user_starter": false,
"cloned_from": null,
"clone_ctr": 1,
"users": [],
"status": 2,
"status_text": "FINISHED",
"indexing": 3,
"indexing_text": "APPROVED",
"created_at": "30-Apr-2020",
"updated_at": "27-Oct-2020"
},
{
"id": 2,
"name": "Partner Content Projects",
"description": "Partner Content Projects",
"thumb_url": "/storage/uploads/iSioSGpjqWFE9DawcwR1nRIAnb1DuJaTgwWX6bkm.jpeg",
"shared": false,
"starter_project": false,
"is_user_starter": false,
"cloned_from": null,
"clone_ctr": 0,
"users": [],
"status": 1,
"status_text": "DRAFT",
"indexing": null,
"indexing_text": "NOT REQUESTED",
"created_at": "30-Apr-2020",
"updated_at": "15-Oct-2020"
}
],
"links": {
"first": "https://www.currikistudio.org/api/v1/admin/projects?page=1",
"last": "https://www.currikistudio.org/api/v1/admin/projects?page=10849",
"prev": null,
"next": "https://www.currikistudio.org/api/v1/admin/projects?page=2"
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 10849,
"path": "https://www.currikistudio.org/api/v1/admin/projects",
"per_page": "2",
"to": 2,
"total": 21697
}
}
Received response:
Request failed with error:
Get All LMS Settings for listing.
Returns the paginated response with pagination links (DataTables are fully supported - All Params).
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/admin/lms-settings?start=0&length=25" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/admin/lms-settings"
);
const params = {
"start": "0",
"length": "25",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/admin/lms-settings',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'start'=> '0',
'length'=> '25',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": [
{
"id": 1,
"lms_url": "https://canvas2.curriki.org",
"lms_access_token": "282tzGgLDzJOQA1mJPunRArzDvJFdUp4tLNiGqh8jhvQ7oJzPBhIaUp2h5LF6cXg",
"site_name": "Curriki Canvas Site #2",
"lms_name": "canvas",
"lms_access_key": null,
"lms_access_secret": null,
"description": "Curriki Canvas Site 2",
"user_id": 3,
"created_at": "2020-08-27T18:38:27.000000Z",
"updated_at": "2020-08-27T18:38:27.000000Z",
"deleted_at": null,
"lti_client_id": null,
"lms_login_id": null,
"user": {
"id": 3,
"name": "Abby _",
"email": "abby@curriki.org",
"email_verified_at": "2020-09-11T23:52:44.000000Z",
"created_at": "2020-04-06T20:47:21.000000Z",
"updated_at": "2020-10-19T10:44:21.000000Z",
"first_name": "Abby",
"last_name": "_",
"organization_name": "",
"job_title": "",
"address": null,
"phone_number": null,
"organization_type": null,
"website": null,
"deleted_at": null,
"role": null,
"gapi_access_token": "{\"token_type\":\"Bearer\",\"access_token\":\"ya29.a0AfH6SMA9EL2ZjzTyPOIv3cgdm7VZ6JHJ3WHgqaaYZJY4X5mKhq417RjMKiCOS36tu1E3sOwNALtVBTamNE_XyNLeDak-xZuU4lAtLV1Ap0Gi19AN10vpj5Sg57AJ3KgrT4G3THYkGF3y0BZ4r38QhdAvydlpkfn_KwCZBQ\",\"scope\":\"email profile https:\\/\\/www.googleapis.com\\/auth\\/classroom.courses openid https:\\/\\/www.googleapis.com\\/auth\\/classroom.courses.readonly https:\\/\\/www.googleapis.com\\/auth\\/userinfo.email https:\\/\\/www.googleapis.com\\/auth\\/classroom.topics https:\\/\\/www.googleapis.com\\/auth\\/classroom.coursework.me https:\\/\\/www.googleapis.com\\/auth\\/classroom.coursework.students https:\\/\\/www.googleapis.com\\/auth\\/userinfo.profile\",\"login_hint\":\"AJDLj6LgfEhLCFgVLEzicO4eYW1YOkD2Ocu__Xw4RutMMX9v-B-BEo_pAMXjGBSn6gx8S9fToe9FpA7M_OwrbGosxzx3LBuA28SCV2kIKwPd_qmJ2ctCRP4\",\"expires_in\":3599,\"id_token\":\"eyJhbGciOiJSUzI1NiIsImtpZCI6IjRiODNmMTgwMjNhODU1NTg3Zjk0MmU3NTEwMjI1MTEyMDg4N2Y3MjUiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJhY2NvdW50cy5nb29nbGUuY29tIiwiYXpwIjoiODk4MTQzOTM5ODM0LTlpb3VpMmk5Z2hncm1jZ21ndGcwaDZyc2Y4M2QwdDBjLmFwcHMuZ29vZ2xldXNlcmNvbnRlbnQuY29tIiwiYXVkIjoiODk4MTQzOTM5ODM0LTlpb3VpMmk5Z2hncm1jZ21ndGcwaDZyc2Y4M2QwdDBjLmFwcHMuZ29vZ2xldXNlcmNvbnRlbnQuY29tIiwic3ViIjoiMTE0MzA3NzE2NTQwNTMzODE4OTQzIiwiaGQiOiJjdXJyaWtpLm9yZyIsImVtYWlsIjoiYWJieUBjdXJyaWtpLm9yZyIsImVtYWlsX3ZlcmlmaWVkIjp0cnVlLCJhdF9oYXNoIjoiSXBlejh3cm5uUmU3Y3p6U1NidFlJdyIsIm5hbWUiOiJBYmJ5IFJvc3MiLCJwaWN0dXJlIjoiaHR0cHM6Ly9saDMuZ29vZ2xldXNlcmNvbnRlbnQuY29tL2EtL0FPaDE0R2cwYUVyeDRwUE1ZOVRPQXJiZ01KX3ZybHdsSzB6SEdBNVp3dFlVPXM5Ni1jIiwiZ2l2ZW5fbmFtZSI6IkFiYnkiLCJmYW1pbHlfbmFtZSI6IlJvc3MiLCJsb2NhbGUiOiJlbiIsImlhdCI6MTYwMDM3NDQ4NywiZXhwIjoxNjAwMzc4MDg3LCJqdGkiOiI3NmUzNjU5M2I1NWEwYjhkMDBlZDZiODRmMmFmMmRiZmVkNDFhN2RhIn0.i9YToGr1CNLtk6zHX2f6dmP4PGB5ibyxFOFisPRvxe1YZvenGpyEh3MlSMkURvHzo2RGmYGkdhpJYHtn2b_TOqbsNsx61DUE4BTME5O_4-VcR-c_YDYFn6K3MpsrYLbSxDKTgdSJbA56B8-s726QzcFEixkU5mtaK5gbO4Zb32U94qF1_ziJ5XcEtaJt1kBY8oY15d3ubXJl-zLyh-fB9K4mqssqqWABbLAtJQycfx5x-9ks6iVHYXq-_tdnfadm7HBYROlcYzKc7VJkOAP5z-e05Zqx9C1NUXpW_-gFwiHazbC7_N_-UihSej2m3qULtIdgZMtT6fid4_LftXc38Q\",\"session_state\":{\"extraQueryParams\":{\"authuser\":\"1\"}},\"first_issued_at\":1600374485776,\"expires_at\":1600378084776,\"idpId\":\"google\"}",
"hubspot": true,
"subscribed": true,
"subscribed_ip": "192.168.96.10",
"membership_type_id": 2,
"temp_password": null
},
"organization": {
"id": 1,
"name": "Curriki Studio",
"description": "Curriki Studio, default organization.",
"domain": "currikistudio",
"parent_id": null,
"image": null,
"created_at": null,
"updated_at": null,
"deleted_at": null,
"self_registration": false,
"account_id": "test123",
"api_key": "test",
"unit_path": "path"
}
},
{
"id": 2,
"lms_url": "https://canvas2.curriki.org",
"lms_access_token": "282tzGgLDzJOQA1mJPunRArzDvJFdUp4tLNiGqh8jhvQ7oJzPBhIaUp2h5LF6cXg",
"site_name": "Curriki Canvas Site #2",
"lms_name": "canvas",
"lms_access_key": null,
"lms_access_secret": null,
"description": "Curriki Canvas Site 2",
"user_id": 726,
"created_at": "2020-08-27T18:38:27.000000Z",
"updated_at": "2020-08-27T18:38:27.000000Z",
"deleted_at": null,
"lti_client_id": null,
"lms_login_id": null,
"user": {
"id": 726,
"name": "Ayesha Jaleel",
"email": "muhammadqamar111@gmail.com",
"email_verified_at": "2020-09-11T23:56:57.000000Z",
"created_at": "2020-08-05T15:45:11.000000Z",
"updated_at": "2020-09-18T15:40:02.000000Z",
"first_name": "ayesha",
"last_name": "jaleel",
"organization_name": "",
"job_title": "",
"address": null,
"phone_number": null,
"organization_type": null,
"website": null,
"deleted_at": null,
"role": null,
"gapi_access_token": "{\"token_type\":\"Bearer\",\"access_token\":\"ya29.a0AfH6SMAL6MLPZFPPhVHV_T0I4NoKnQvgjZde3NVh9EN_iEIr9hZWv9z1l7kg2gEDKL4ytQQPZc4vfjWwibQoFX35kfBZK8IW4oFkloCWGVjUiVQpIv-l3b0_WZA_vrBtiX__rDAbbcsK5f_qQ6Q46PlNYwZpFrSb5sg63w\",\"scope\":\"email profile https:\\/\\/www.googleapis.com\\/auth\\/userinfo.email https:\\/\\/www.googleapis.com\\/auth\\/classroom.coursework.me openid https:\\/\\/www.googleapis.com\\/auth\\/classroom.courses.readonly https:\\/\\/www.googleapis.com\\/auth\\/userinfo.profile https:\\/\\/www.googleapis.com\\/auth\\/classroom.courses https:\\/\\/www.googleapis.com\\/auth\\/classroom.coursework.students https:\\/\\/www.googleapis.com\\/auth\\/classroom.topics\",\"login_hint\":\"AJDLj6LgfEhLCFgVLEzicO4eYW1YEG1H6Z_EdBO9DcPh7Mh4zecJPEER1aZQlAuK9EACWTStds1zX0LniLDNBCxyVGW-meWH65rQ5EKowzaeeKw9Whrf0AI\",\"expires_in\":3599,\"id_token\":\"eyJhbGciOiJSUzI1NiIsImtpZCI6IjRiODNmMTgwMjNhODU1NTg3Zjk0MmU3NTEwMjI1MTEyMDg4N2Y3MjUiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJhY2NvdW50cy5nb29nbGUuY29tIiwiYXpwIjoiODk4MTQzOTM5ODM0LTlpb3VpMmk5Z2hncm1jZ21ndGcwaDZyc2Y4M2QwdDBjLmFwcHMuZ29vZ2xldXNlcmNvbnRlbnQuY29tIiwiYXVkIjoiODk4MTQzOTM5ODM0LTlpb3VpMmk5Z2hncm1jZ21ndGcwaDZyc2Y4M2QwdDBjLmFwcHMuZ29vZ2xldXNlcmNvbnRlbnQuY29tIiwic3ViIjoiMTA2NzA0NTczOTgxNzI2MTQ5NDI5IiwiZW1haWwiOiJtdWhhbW1hZHFhbWFyMTExQGdtYWlsLmNvbSIsImVtYWlsX3ZlcmlmaWVkIjp0cnVlLCJhdF9oYXNoIjoiS0JIT3JpdWJyQ0xyTVkzS01MN3lYdyIsIm5hbWUiOiJNdWhhbW1hZCBRYW1hciIsInBpY3R1cmUiOiJodHRwczovL2xoMy5nb29nbGV1c2VyY29udGVudC5jb20vYS0vQU9oMTRHaDNkcnhWRkQtb2xCRHRHc2JzWC1OOUJXdVNUYmlkcHpNTF9IUDkxZz1zOTYtYyIsImdpdmVuX25hbWUiOiJNdWhhbW1hZCIsImZhbWlseV9uYW1lIjoiUWFtYXIiLCJsb2NhbGUiOiJlbiIsImlhdCI6MTYwMDQ0MzYwMiwiZXhwIjoxNjAwNDQ3MjAyLCJqdGkiOiJhZjI1NWI0Y2I5Y2FiMTcwZDc4ZTIzMjljNDU5OTM3MjlmYTA4MTY2In0.JTX2lWgOkyPpdvhP4ueLDR6zw0cY4reT6lK4HgOFJR4sGdhfsclDqD1Tw0r6XfTQQ_AjMnYz9cn-xGH5QyRShu9gGizCt3MeDFU62QiV9wyAgsSeXBxaL0eVD4Jt8eWg0pduaga9424Ov7iEJYT6owtwlPO0FZi9pROjOA9vbj9GUXEEwr-Qejv9UKxKhiZbnQhpyk9PCs5K9eTTdTTFUbNennRb4ZLPKVAek1PXQBMkQBOiH7gf6ycPUd-4HI9wHgj4ARqMpKIGpx-L3J7lod94M-0yRnvlzklivJay9EFvY31xQw1EbB0RcTkMBO9QppIkDGQ9ZxWQyhP1gt4FRA\",\"session_state\":{\"extraQueryParams\":{\"authuser\":\"0\"}},\"first_issued_at\":1600443602681,\"expires_at\":1600447201681,\"idpId\":\"google\"}",
"hubspot": true,
"subscribed": true,
"subscribed_ip": "172.18.0.12",
"membership_type_id": 2,
"temp_password": null
},
"organization": {
"id": 1,
"name": "Curriki Studio",
"description": "Curriki Studio, default organization.",
"domain": "currikistudio",
"parent_id": null,
"image": null,
"created_at": null,
"updated_at": null,
"deleted_at": null,
"self_registration": false,
"account_id": "test123",
"api_key": "test",
"unit_path": "path"
}
}
],
"links": {
"first": "https://www.currikistudio.org/api/v1/admin/lms-settings?page=1",
"last": "https://www.currikistudio.org/api/v1/admin/lms-settings?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"path": "https://www.currikistudio.org/api/v1/admin/lms-settings",
"per_page": "25",
"to": 2,
"total": 2
}
}
Received response:
Request failed with error:
Create LMS Setting
Creates the new lms setting in database.
Example request:
curl --request POST \
"http://localhost:8000/api/v1/admin/lms-settings" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"lms_url\": \"https:\\/\\/google.com\",
\"lms_access_token\": \"abcafdgd343asgretgdasgadsfsdfdasgdagsadf\",
\"site_name\": \"Moodle Curriki\",
\"lti_client_id\": \"1\",
\"lms_login_id\": \"1\",
\"user_id\": 1,
\"lms_name\": \"Moodle\",
\"lms_access_key\": \"fdaskfasdkjghadskljgh54r325\",
\"lms_access_secret\": \"fasdjhjke4wh54354326\",
\"description\": \"Create LMS Setting for providing access to Moodle.\"
}"
const url = new URL(
"http://localhost:8000/api/v1/admin/lms-settings"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"lms_url": "https:\/\/google.com",
"lms_access_token": "abcafdgd343asgretgdasgadsfsdfdasgdagsadf",
"site_name": "Moodle Curriki",
"lti_client_id": "1",
"lms_login_id": "1",
"user_id": 1,
"lms_name": "Moodle",
"lms_access_key": "fdaskfasdkjghadskljgh54r325",
"lms_access_secret": "fasdjhjke4wh54354326",
"description": "Create LMS Setting for providing access to Moodle."
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/admin/lms-settings',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'lms_url' => 'https://google.com',
'lms_access_token' => 'abcafdgd343asgretgdasgadsfsdfdasgdagsadf',
'site_name' => 'Moodle Curriki',
'lti_client_id' => '1',
'lms_login_id' => '1',
'user_id' => 1,
'lms_name' => 'Moodle',
'lms_access_key' => 'fdaskfasdkjghadskljgh54r325',
'lms_access_secret' => 'fasdjhjke4wh54354326',
'description' => 'Create LMS Setting for providing access to Moodle.',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "Setting created successfully!",
"data": [
"Created Setting Data Array"
]
}
Example response (500):
{
"errors": [
"Unable to create setting, please try again later!"
]
}
Received response:
Request failed with error:
Get LMS Setting
Get the specified lms setting data.
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/admin/lms-settings/et" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/admin/lms-settings/et"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/admin/lms-settings/et',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": {
"id": 1,
"lms_url": "https://canvas2.curriki.org",
"lms_access_token": "282tzGgLDzJOQA1mJPunRArzDvJFdUp4tLNiGqh8jhvQ7oJzPBhIaUp2h5LF6cXg",
"site_name": "Curriki Canvas Site #2",
"lti_client_id": null,
"lms_login_id": null,
"lms_name": "canvas",
"lms_access_key": null,
"lms_access_secret": null,
"description": "Curriki Canvas Site 2",
"user_id": 3,
"user": {
"id": 3,
"name": "Abby _",
"email": "abby@curriki.org",
"first_name": "Abby",
"last_name": "_",
"job_title": "",
"organization_type": null,
"is_admin": false,
"organization_name": ""
},
"organization": {
"id": 1,
"name": "Curriki Studio",
"description": "Curriki Studio, default organization.",
"domain": "currikistudio",
"parent_id": null,
"image": null,
"created_at": null,
"updated_at": null,
"deleted_at": null,
"self_registration": false,
"account_id": "test123",
"api_key": "test",
"unit_path": "path"
}
}
}
Received response:
Request failed with error:
Update LMS Setting
Updates the lms setting in database.
Example request:
curl --request PUT \
"http://localhost:8000/api/v1/admin/lms-settings/unde" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"lms_url\": \"https:\\/\\/google.com\",
\"lms_access_token\": \"abcafdgd343asgretgdasgadsfsdfdasgdagsadf\",
\"site_name\": \"Moodle Curriki\",
\"lti_client_id\": \"1\",
\"lms_login_id\": \"1\",
\"user_id\": 1,
\"lms_name\": \"Moodle\",
\"lms_access_key\": \"fdaskfasdkjghadskljgh54r325\",
\"lms_access_secret\": \"fasdjhjke4wh54354326\",
\"description\": \"Create LMS Setting for providing access to Moodle.\"
}"
const url = new URL(
"http://localhost:8000/api/v1/admin/lms-settings/unde"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"lms_url": "https:\/\/google.com",
"lms_access_token": "abcafdgd343asgretgdasgadsfsdfdasgdagsadf",
"site_name": "Moodle Curriki",
"lti_client_id": "1",
"lms_login_id": "1",
"user_id": 1,
"lms_name": "Moodle",
"lms_access_key": "fdaskfasdkjghadskljgh54r325",
"lms_access_secret": "fasdjhjke4wh54354326",
"description": "Create LMS Setting for providing access to Moodle."
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->put(
'http://localhost:8000/api/v1/admin/lms-settings/unde',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'lms_url' => 'https://google.com',
'lms_access_token' => 'abcafdgd343asgretgdasgadsfsdfdasgdagsadf',
'site_name' => 'Moodle Curriki',
'lti_client_id' => '1',
'lms_login_id' => '1',
'user_id' => 1,
'lms_name' => 'Moodle',
'lms_access_key' => 'fdaskfasdkjghadskljgh54r325',
'lms_access_secret' => 'fasdjhjke4wh54354326',
'description' => 'Create LMS Setting for providing access to Moodle.',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "LMS setting data updated successfully!",
"data": [
"Updated LMS setting data array"
]
}
Example response (500):
{
"errors": [
"Unable to update LMS setting, please try again later."
]
}
Received response:
Request failed with error:
Delete LMS Setting
Deletes the lms setting from database.
Example request:
curl --request DELETE \
"http://localhost:8000/api/v1/admin/lms-settings/tenetur" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/admin/lms-settings/tenetur"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->delete(
'http://localhost:8000/api/v1/admin/lms-settings/tenetur',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "LMS setting deleted successfully!",
}
Example response (500):
{
"errors": [
"Unable to delete LMS setting, please try again later."
]
}
Received response:
Request failed with error:
Get All Activity Types
Returns the paginated response with pagination links (DataTables are fully supported - All Params).
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/admin/activity-types?start=0&length=25" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/admin/activity-types"
);
const params = {
"start": "0",
"length": "25",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/admin/activity-types',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'start'=> '0',
'length'=> '25',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": [
{
"id": 7,
"title": "Audio",
"order": 0,
"image": "/storage/uploads/4kZL5uuExvNPngVsaIdC7JscWmstOTsYO8sBbekx.png",
"activityItems": [
{
"id": 52,
"title": "Spoken Answers",
"description": "Voice recognition activity that the learner can answered with their own voice.",
"order": 3,
"activity_type_id": 7,
"type": "h5p",
"h5pLib": "H5P.SpeakTheWords 1.3",
"image": "/storage/uploads/7iyRffLSS9QdFKCazDuDetl6WPk4BQP8tEP2eeuJ.png",
"created_at": "2020-09-12T01:16:52.000000Z",
"updated_at": "2020-09-12T01:16:52.000000Z",
"deleted_at": null,
"demo_activity_id": "769",
"demo_video_id": "https://youtu.be/lgzsJDcMvPI"
},
{
"id": 50,
"title": "Audio Recorder",
"description": "Record your voice and play back or download a .wav file of your recording.",
"order": 1,
"activity_type_id": 7,
"type": "h5p",
"h5pLib": "H5P.AudioRecorder 1.0",
"image": "/storage/uploads/zGUwGiarxX5Xt0UDFMMHtJ3ICGy1F9W68cO0Ukm6.png",
"created_at": "2020-09-12T01:16:52.000000Z",
"updated_at": "2020-09-12T01:16:52.000000Z",
"deleted_at": null,
"demo_activity_id": "768",
"demo_video_id": "https://youtu.be/O73hIb7yxLg"
},
{
"id": 51,
"title": "Dictation",
"description": "A tool to create dictation exercises",
"order": 2,
"activity_type_id": 7,
"type": "h5p",
"h5pLib": "H5P.Dictation 1.0",
"image": "/storage/uploads/WpXZiHcrkBmbSXE3OMOmHTovHKP3wzk9suHHfe1X.png",
"created_at": "2020-09-12T01:16:52.000000Z",
"updated_at": "2020-09-12T01:16:52.000000Z",
"deleted_at": null,
"demo_activity_id": "767",
"demo_video_id": "https://youtu.be/JLYtQpB0JmY"
}
],
"created_at": null,
"updated_at": null
},
{
"id": 13,
"title": "Audio",
"order": 0,
"image": "/storage/activity-types/audio.png",
"activityItems": [],
"created_at": null,
"updated_at": null
}
],
"links": {
"first": "https://www.currikistudio.org/api/v1/admin/activity-types?page=1",
"last": "https://www.currikistudio.org/api/v1/admin/activity-types?page=6",
"prev": null,
"next": "https://www.currikistudio.org/api/v1/admin/activity-types?page=2"
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 6,
"path": "https://www.currikistudio.org/api/v1/admin/activity-types",
"per_page": "2",
"to": 2,
"total": 12
}
}
Received response:
Request failed with error:
Create New Activity Type
Creates the new activity type in database.
Example request:
curl --request POST \
"http://localhost:8000/api/v1/admin/activity-types" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"title\": \"Audio\",
\"image\": \"unde\",
\"order\": 1
}"
const url = new URL(
"http://localhost:8000/api/v1/admin/activity-types"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"title": "Audio",
"image": "unde",
"order": 1
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/admin/activity-types',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'title' => 'Audio',
'image' => 'unde',
'order' => 1,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "Activity type created successfully!",
"data": [
"Created activity type data array"
]
}
Example response (500):
{
"errors": [
"Unable to create activity type, please try again later!"
]
}
Received response:
Request failed with error:
Get Specified Activity Type
Get the specified Activity Type data.
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/admin/activity-types/7" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/admin/activity-types/7"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/admin/activity-types/7',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": {
"id": 7,
"title": "Audio",
"order": 0,
"image": "/storage/uploads/4kZL5uuExvNPngVsaIdC7JscWmstOTsYO8sBbekx.png",
"activityItems": [
{
"id": 52,
"title": "Spoken Answers",
"description": "Voice recognition activity that the learner can answered with their own voice.",
"order": 3,
"activity_type_id": 7,
"type": "h5p",
"h5pLib": "H5P.SpeakTheWords 1.3",
"image": "/storage/uploads/7iyRffLSS9QdFKCazDuDetl6WPk4BQP8tEP2eeuJ.png",
"created_at": "2020-09-12T01:16:52.000000Z",
"updated_at": "2020-09-12T01:16:52.000000Z",
"deleted_at": null,
"demo_activity_id": "769",
"demo_video_id": "https://youtu.be/lgzsJDcMvPI"
},
{
"id": 50,
"title": "Audio Recorder",
"description": "Record your voice and play back or download a .wav file of your recording.",
"order": 1,
"activity_type_id": 7,
"type": "h5p",
"h5pLib": "H5P.AudioRecorder 1.0",
"image": "/storage/uploads/zGUwGiarxX5Xt0UDFMMHtJ3ICGy1F9W68cO0Ukm6.png",
"created_at": "2020-09-12T01:16:52.000000Z",
"updated_at": "2020-09-12T01:16:52.000000Z",
"deleted_at": null,
"demo_activity_id": "768",
"demo_video_id": "https://youtu.be/O73hIb7yxLg"
},
{
"id": 51,
"title": "Dictation",
"description": "A tool to create dictation exercises",
"order": 2,
"activity_type_id": 7,
"type": "h5p",
"h5pLib": "H5P.Dictation 1.0",
"image": "/storage/uploads/WpXZiHcrkBmbSXE3OMOmHTovHKP3wzk9suHHfe1X.png",
"created_at": "2020-09-12T01:16:52.000000Z",
"updated_at": "2020-09-12T01:16:52.000000Z",
"deleted_at": null,
"demo_activity_id": "767",
"demo_video_id": "https://youtu.be/JLYtQpB0JmY"
}
],
"created_at": null,
"updated_at": null
}
}
Received response:
Request failed with error:
Update Specified Activity Type
Updates the activity type in database.
Example request:
curl --request PUT \
"http://localhost:8000/api/v1/admin/activity-types/7" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"title\": \"Audio\",
\"image\": \"quia\",
\"order\": 1
}"
const url = new URL(
"http://localhost:8000/api/v1/admin/activity-types/7"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"title": "Audio",
"image": "quia",
"order": 1
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->put(
'http://localhost:8000/api/v1/admin/activity-types/7',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'title' => 'Audio',
'image' => 'quia',
'order' => 1,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "Activity type data updated successfully!",
"data": [
"Updated activity type data array"
]
}
Example response (500):
{
"errors": [
"Unable to update activity type, please try again later."
]
}
Received response:
Request failed with error:
Delete Activity Type
Deletes the activity type from database.
Example request:
curl --request DELETE \
"http://localhost:8000/api/v1/admin/activity-types/7" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/admin/activity-types/7"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->delete(
'http://localhost:8000/api/v1/admin/activity-types/7',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "Activity type deleted successfully!",
}
Example response (500):
{
"errors": [
"Unable to delete activity type, please try again later."
]
}
Received response:
Request failed with error:
Get All Activity Items
Returns the paginated response with pagination links (DataTables are fully supported - All Params).
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/admin/activity-items?start=0&length=25" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/admin/activity-items"
);
const params = {
"start": "0",
"length": "25",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/admin/activity-items',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'start'=> '0',
'length'=> '25',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": [
{
"id": 81,
"title": "Arithmetic Quiz",
"description": "Time based arithmetic exam builder",
"order": 2,
"activityType": {
"id": 11,
"title": "Questions",
"order": 0,
"image": "/storage/uploads/E9wUgZpAvbmzogYIZYyABuWlvSIJPNYEFDqqL1rt.png",
"created_at": null,
"updated_at": null
},
"type": "h5p",
"h5pLib": "H5P.ArithmeticQuiz 1.1",
"image": "/storage/uploads/V2EzpoGzJi7F9KmWCUCwLF8uXKvr8Nsaunq6Uzw6.png",
"demo_activity_id": "730",
"demo_video_id": "https://youtu.be/Z61BUoL6k1Y",
"created_at": "2020-09-12T01:16:52.000000Z",
"updated_at": "2020-09-12T01:16:52.000000Z"
},
{
"id": 87,
"title": "Personality Quiz",
"description": "Build your own personality quiz",
"order": 8,
"activityType": {
"id": 11,
"title": "Questions",
"order": 0,
"image": "/storage/uploads/E9wUgZpAvbmzogYIZYyABuWlvSIJPNYEFDqqL1rt.png",
"created_at": null,
"updated_at": null
},
"type": "h5p",
"h5pLib": "H5P.PersonalityQuiz 1.0",
"image": "/storage/uploads/jdHy6THv8aZLNrEdy3REa9aKZHcFdM6UXH3Lk7Nz.png",
"demo_activity_id": "739",
"demo_video_id": " https://youtu.be/zY8CTNn5LVA",
"created_at": "2020-09-12T01:16:52.000000Z",
"updated_at": "2020-09-12T01:16:52.000000Z"
}
],
"links": {
"first": "https://www.currikistudio.org/api/v1/admin/activity-items?page=1",
"last": "https://www.currikistudio.org/api/v1/admin/activity-items?page=2",
"prev": null,
"next": "https://www.currikistudio.org/api/v1/admin/activity-items?page=2"
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 2,
"path": "https://www.currikistudio.org/api/v1/admin/activity-items",
"per_page": "2",
"to": 2,
"total": 3
}
}
Received response:
Request failed with error:
Create New Activity Item
Creates the new activity item in database.
Example request:
curl --request POST \
"http://localhost:8000/api/v1/admin/activity-items" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"title\": \"Math\",
\"description\": \"Create Math activities.\",
\"demo_activity_id\": 1,
\"demo_video_id\": 1,
\"image\": \"velit\",
\"order\": 1,
\"type\": \"h5p\",
\"activity_type_id\": 1,
\"h5pLib\": \"H5P.DocumentsUpload 1.0\"
}"
const url = new URL(
"http://localhost:8000/api/v1/admin/activity-items"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"title": "Math",
"description": "Create Math activities.",
"demo_activity_id": 1,
"demo_video_id": 1,
"image": "velit",
"order": 1,
"type": "h5p",
"activity_type_id": 1,
"h5pLib": "H5P.DocumentsUpload 1.0"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/admin/activity-items',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'title' => 'Math',
'description' => 'Create Math activities.',
'demo_activity_id' => 1,
'demo_video_id' => 1,
'image' => 'velit',
'order' => 1,
'type' => 'h5p',
'activity_type_id' => 1,
'h5pLib' => 'H5P.DocumentsUpload 1.0',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "Activity item created successfully!",
"data": [
"Created activity item data array"
]
}
Example response (500):
{
"errors": [
"Unable to create activity item, please try again later!"
]
}
Received response:
Request failed with error:
Get Specified Activity Item
Get the specified Activity Item data.
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/admin/activity-items/62" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/admin/activity-items/62"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/admin/activity-items/62',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": {
"id": 53,
"title": "Accordion",
"description": "An activity that creates accessible (WAI-ARIA enabled) accordions",
"order": 1,
"activityType": {
"id": 8,
"title": "Informational",
"order": 0,
"image": "/storage/uploads/O8M6MvWrdtqrZSczhzzbTdCCDulrKxLJslYTzcwL.png",
"created_at": null,
"updated_at": null
},
"type": "h5p",
"h5pLib": "H5P.Accordion 1.0",
"image": "/storage/uploads/XprFXn7YfIpu6gBe8atabONmxDHwqfK5wdSkjfkL.png",
"demo_activity_id": "763",
"demo_video_id": "https://youtu.be/dVDFwhy93Vc",
"created_at": "2020-09-12T01:16:52.000000Z",
"updated_at": "2020-09-12T01:16:52.000000Z"
}
}
Received response:
Request failed with error:
Update Specified Activity Item
Updates the activity item in database.
Example request:
curl --request PUT \
"http://localhost:8000/api/v1/admin/activity-items/62" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"title\": \"Math\",
\"description\": \"Create Math activities.\",
\"demo_activity_id\": 1,
\"demo_video_id\": 1,
\"image\": \"ducimus\",
\"order\": 1,
\"type\": \"h5p\",
\"activity_type_id\": 1,
\"h5pLib\": \"H5P.DocumentsUpload 1.0\"
}"
const url = new URL(
"http://localhost:8000/api/v1/admin/activity-items/62"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"title": "Math",
"description": "Create Math activities.",
"demo_activity_id": 1,
"demo_video_id": 1,
"image": "ducimus",
"order": 1,
"type": "h5p",
"activity_type_id": 1,
"h5pLib": "H5P.DocumentsUpload 1.0"
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->put(
'http://localhost:8000/api/v1/admin/activity-items/62',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'title' => 'Math',
'description' => 'Create Math activities.',
'demo_activity_id' => 1,
'demo_video_id' => 1,
'image' => 'ducimus',
'order' => 1,
'type' => 'h5p',
'activity_type_id' => 1,
'h5pLib' => 'H5P.DocumentsUpload 1.0',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "Activity item data updated successfully!",
"data": [
"Updated activity item data array"
]
}
Example response (500):
{
"errors": [
"Unable to update activity item, please try again later."
]
}
Received response:
Request failed with error:
Delete Activity Item
Deletes the activity item from database.
Example request:
curl --request DELETE \
"http://localhost:8000/api/v1/admin/activity-items/62" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/admin/activity-items/62"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->delete(
'http://localhost:8000/api/v1/admin/activity-items/62',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "Activity item deleted successfully!",
}
Example response (500):
{
"errors": [
"Unable to delete activity item, please try again later."
]
}
Received response:
Request failed with error:
Get All Organization Types
Returns the all organization types.
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/admin/organization-types" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/admin/organization-types"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/admin/organization-types',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": [
{
"id": 1,
"name": "k12",
"label": "K-12",
"order": 0
},
{
"id": 2,
"name": "highered",
"label": "Higher Education",
"order": 1
},
{
"id": 3,
"name": "businesscorp",
"label": "Business/Corporation",
"order": 2
},
{
"id": 4,
"name": "nonprofit",
"label": "Nonprofit",
"order": 3
},
{
"id": 5,
"name": "govedu",
"label": "Government/EDU",
"order": 4
},
{
"id": 6,
"name": "other",
"label": "Other",
"order": 5
}
]
}
Received response:
Request failed with error:
Create Organization Type
Creates the new organization type in database.
Example request:
curl --request POST \
"http://localhost:8000/api/v1/admin/organization-types" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"randomzv2tga01uxb6q8ojri5ob6\",
\"label\": \"test\",
\"order\": 1
}"
const url = new URL(
"http://localhost:8000/api/v1/admin/organization-types"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "randomzv2tga01uxb6q8ojri5ob6",
"label": "test",
"order": 1
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/admin/organization-types',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'name' => 'randomzv2tga01uxb6q8ojri5ob6',
'label' => 'test',
'order' => 1,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (201):
{
"id": 7,
"name": "randomzv2tga01uxb6q8ojri5ob6",
"label": "test",
"order": 6
}
Received response:
Request failed with error:
Get Organization Type
Get the specified Organization Type data.
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/admin/organization-types/1" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/admin/organization-types/1"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/admin/organization-types/1',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"id": 7,
"name": "randomzv2tga01uxb6q8ojri5ob6",
"label": "test",
"order": 6
}
Received response:
Request failed with error:
Update Organization Type
Updates the organization type data in database.
Example request:
curl --request PUT \
"http://localhost:8000/api/v1/admin/organization-types/1" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"randomzv2tga01uxb6q8ojri5ob6\",
\"label\": \"test\"
}"
const url = new URL(
"http://localhost:8000/api/v1/admin/organization-types/1"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "randomzv2tga01uxb6q8ojri5ob6",
"label": "test"
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->put(
'http://localhost:8000/api/v1/admin/organization-types/1',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'name' => 'randomzv2tga01uxb6q8ojri5ob6',
'label' => 'test',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (201):
{
"id": 7,
"name": "randomzv2tga01uxb6q8ojri5ob6",
"label": "test",
"order": 6
}
Received response:
Request failed with error:
Delete Organization Type
Deletes the organization type from database.
Example request:
curl --request DELETE \
"http://localhost:8000/api/v1/admin/organization-types/1" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/admin/organization-types/1"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->delete(
'http://localhost:8000/api/v1/admin/organization-types/1',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "Organization type deleted successfully!"
}
Example response (500):
{
"message": "Failed to delete organization type."
}
Received response:
Request failed with error:
Get All Jobs
Returns the pending or failed jobs paginated response with pagination links (DataTables are fully supported - All Params).
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/admin/queue-monitor/jobs?filter=1&start=0&length=25" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/admin/queue-monitor/jobs"
);
const params = {
"filter": "1",
"start": "0",
"length": "25",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/admin/queue-monitor/jobs',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'filter'=> '1',
'start'=> '0',
'length'=> '25',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": [
{
"id": 128,
"payload": "CloneProject",
"queue": "default",
"time": "1 day ago",
"failed": false,
"attempt": 1,
"exception": "N/A"
},
{
"id": 129,
"payload": "CloneProject",
"queue": "default",
"time": "1 day ago",
"failed": false,
"attempt": 1,
"exception": "Unable to clone project"
}
],
"links": {
"first": "https://currikistudio.org/api/api/v1/admin/queue-monitor/jobs?page=1",
"last": "https://currikistudio.org/api/api/v1/admin/queue-monitor/jobs?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": null,
"last_page": 1,
"path": "https://currikistudio.org/api/api/v1/admin/queue-monitor/jobs",
"per_page": "2",
"to": null,
"total": 0
}
}
Received response:
Request failed with error:
Retry All Failed Jobs
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/admin/queue-monitor/jobs/retry/all" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/admin/queue-monitor/jobs/retry/all"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/admin/queue-monitor/jobs/retry/all',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "All failed jobs has been pushed back onto the queue!"
}
Received response:
Request failed with error:
Delete All Failed Jobs
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/admin/queue-monitor/jobs/forget/all" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/admin/queue-monitor/jobs/forget/all"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/admin/queue-monitor/jobs/forget/all',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "All failed jobs deleted successfully!"
}
Received response:
Request failed with error:
Retry Specific Failed Job
Retry failed job by ID.
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/admin/queue-monitor/jobs/retry/1" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/admin/queue-monitor/jobs/retry/1"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/admin/queue-monitor/jobs/retry/1',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "The failed job [1] has been pushed back onto the queue!"
}
Received response:
Request failed with error:
Delete Specific Failed Job
Delete failed job by ID.
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/admin/queue-monitor/jobs/forget/1" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/admin/queue-monitor/jobs/forget/1"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/admin/queue-monitor/jobs/forget/1',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "Failed job deleted successfully!"
}
Received response:
Request failed with error:
Get All Queues Logs
Returns the paginated response with pagination links (DataTables are fully supported - All Params).
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/admin/queue-monitor?filter=1&start=0&length=25" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/admin/queue-monitor"
);
const params = {
"filter": "1",
"start": "0",
"length": "25",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/admin/queue-monitor',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'filter'=> '1',
'start'=> '0',
'length'=> '25',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": [
{
"id": 128,
"job_id": "376471",
"name": "CloneProject",
"queue": "default",
"started_at": "23 hours ago",
"is_finished": true,
"time_elapsed": "8.22 s",
"failed": false,
"attempt": 1,
"exception_message": null
},
{
"id": 127,
"job_id": "376470",
"name": "CloneActivity",
"queue": "default",
"started_at": "23 hours ago",
"is_finished": true,
"time_elapsed": "8.17 s",
"failed": false,
"attempt": 1,
"exception_message": null
}
],
"links": {
"first": "https://www.currikistudio.org/api/v1/admin/queue-monitor?page=1",
"last": "https://www.currikistudio.org/api/v1/admin/queue-monitor?page=9",
"prev": null,
"next": "https://www.currikistudio.org/api/v1/admin/queue-monitor?page=2"
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 9,
"path": "https://www.currikistudio.org/api/v1/admin/queue-monitor",
"per_page": "2",
"to": 2,
"total": 17
}
}
Received response:
Request failed with error:
Organization Basic Report
Returns the paginated response of the Organization with basic reporting (DataTables are fully supported - All Params).
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/admin/organizations/report/basic?start=0&length=25" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/admin/organizations/report/basic"
);
const params = {
"start": "0",
"length": "25",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/admin/organizations/report/basic',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'start'=> '0',
'length'=> '25',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"current_page": 1,
"data": [
{
"id": 3,
"name": "Suborganization",
"description": "Suborganization description",
"parent_id": 1,
"projects_count": 0,
"playlists_count": 0,
"activities_count": 0
},
{
"id": 4,
"name": "org name",
"description": "org description",
"parent_id": 1,
"projects_count": 0,
"playlists_count": 0,
"activities_count": 0
}
],
"first_page_url": "http://127.0.0.1:8000/api/v1/admin/organizations/report/basic?page=1",
"from": 1,
"last_page": 1,
"last_page_url": "http://127.0.0.1:8000/api/v1/admin/organizations/report/basic?page=1",
"next_page_url": null,
"path": "http://127.0.0.1:8000/api/v1/admin/organizations/report/basic",
"per_page": 25,
"prev_page_url": null,
"to": 15,
"total": 2
}
Received response:
Request failed with error:
Get Organizations
Get a list of the Organizations.
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/admin/organizations" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/admin/organizations"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/admin/organizations',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": [
{
"id": 3,
"name": "Suborganization",
"description": "Suborganization description",
"parent": {
"id": 1,
"name": "org name 1",
"description": "org description 1",
"image": "/storage/organizations/jlvKGDV1XjzIzfNrm1Py8gqgVkHpENwLoQj6OMjV.jpeg",
"domain": "orgdomain1"
},
"image": "/storage/organizations/jlvKGDV1XjzIzfNrm1Py8gqgVkHpENwLoQj6OMjV.jpeg",
"domain": "suborganization"
},
{
"id": 4,
"name": "org name",
"description": "org description",
"parent": {
"id": 1,
"name": "org name 1",
"description": "org description 1",
"image": "/storage/organizations/jlvKGDV1XjzIzfNrm1Py8gqgVkHpENwLoQj6OMjV.jpeg",
"domain": "orgdomain1"
},
"image": "/storage/organizations/jlvKGDV1XjzIzfNrm1Py8gqgVkHpENwLoQj6OMjV.jpeg",
"domain": "orgdomain"
}
],
"links": {
"first": "http://127.0.0.1:8000/api/v1/admin/organizations?page=1",
"last": "http://127.0.0.1:8000/api/v1/admin/organizations?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"path": "http://127.0.0.1:8000/api/v1/admin/organizations",
"per_page": 25,
"to": 15,
"total": 2
}
}
Received response:
Request failed with error:
Create Organization
Create a new organization.
Example request:
curl --request POST \
"http://localhost:8000/api/v1/admin/organizations" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"tfa\",
\"description\": \"This is a test organization.\",
\"domain\": \"tfa\",
\"image\": \"(binary)\",
\"admin_id\": 1,
\"parent_id\": 1
}"
const url = new URL(
"http://localhost:8000/api/v1/admin/organizations"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "tfa",
"description": "This is a test organization.",
"domain": "tfa",
"image": "(binary)",
"admin_id": 1,
"parent_id": 1
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/admin/organizations',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'name' => 'tfa',
'description' => 'This is a test organization.',
'domain' => 'tfa',
'image' => '(binary)',
'admin_id' => 1,
'parent_id' => 1,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "Organization created successfully!",
"data": {
"id": 27,
"name": "Admin Org",
"description": "Admin Org",
"image": "/storage/organizations/Iq0Rw2UvlsmO8DsZwCWNj396ruysLyEKGqiWaDqk.jpeg",
"domain": "adminorg"
}
}
Received response:
Request failed with error:
Get Organization
Get the specified organization detail.
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/admin/organizations/1" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/admin/organizations/1"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/admin/organizations/1',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": {
"id": 25,
"name": "Level 2 Org",
"description": "Level 2 Org",
"parent": {
"id": 24,
"name": "Level 1 Org",
"description": "Level 1 Org",
"image": "/storage/organizations/qlz5YienwWryZAhoWSfJxJPzYp5JU2Vp8FQeiCzW.jpeg",
"domain": "level1org"
},
"projects": [
{
"id": 2456,
"name": "name",
"description": "description",
"thumb_url": "/storage/projects/T4gQGR692EgWCUw9Kw8JeujIlPnJ7najoX8D5L8F.jpeg",
"shared": false,
"starter_project": null,
"is_user_starter": false,
"cloned_from": null,
"clone_ctr": 0,
"status": 1,
"status_text": "DRAFT",
"indexing": 3,
"indexing_text": "APPROVED",
"created_at": "13-Jan-2021",
"updated_at": "13-Jan-2021"
}
],
"users": [
{
"id": 1,
"name": "local user",
"email": "localuser@local.com",
"first_name": "local",
"last_name": "user",
"job_title": "",
"organization_type": null,
"is_admin": false,
"organization_name": "",
"organization_role": "Administrator",
"created_at": "06-Apr-2020",
"updated_at": "13-Jan-2021"
}
],
"image": "/storage/organizations/Yuxzr7NOMLj7O5eJba6FmSoxFpt126EDYnkmg5r2.jpeg",
"domain": "level2org"
}
}
Received response:
Request failed with error:
Update Organization
Update the specified organization.
Example request:
curl --request PUT \
"http://localhost:8000/api/v1/admin/organizations/1" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"tfa\",
\"description\": \"This is a test organization.\",
\"domain\": \"tfa\",
\"image\": \"(binary)\",
\"member_id\": 1,
\"parent_id\": 1
}"
const url = new URL(
"http://localhost:8000/api/v1/admin/organizations/1"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "tfa",
"description": "This is a test organization.",
"domain": "tfa",
"image": "(binary)",
"member_id": 1,
"parent_id": 1
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->put(
'http://localhost:8000/api/v1/admin/organizations/1',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'name' => 'tfa',
'description' => 'This is a test organization.',
'domain' => 'tfa',
'image' => '(binary)',
'member_id' => 1,
'parent_id' => 1,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "Organization created successfully!",
"data": {
"id": 27,
"name": "Admin Org",
"description": "Admin Org",
"image": "/storage/organizations/Iq0Rw2UvlsmO8DsZwCWNj396ruysLyEKGqiWaDqk.jpeg",
"domain": "adminorg"
}
}
Received response:
Request failed with error:
Remove Organization
Remove the specified organization.
Example request:
curl --request DELETE \
"http://localhost:8000/api/v1/admin/organizations/1" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/admin/organizations/1"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->delete(
'http://localhost:8000/api/v1/admin/organizations/1',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "Organization Deleted!"
}
Received response:
Request failed with error:
Remove Organization User
Remove the user from the specified organization.
Example request:
curl --request DELETE \
"http://localhost:8000/api/v1/admin/organizations/1/user/1" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"organization\": 19,
\"user\": 10
}"
const url = new URL(
"http://localhost:8000/api/v1/admin/organizations/1/user/1"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"organization": 19,
"user": 10
};
fetch(url, {
method: "DELETE",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->delete(
'http://localhost:8000/api/v1/admin/organizations/1/user/1',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'organization' => 19,
'user' => 10,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "Organization User Deleted!",
}
Example response (500):
{
"errors": [
"Failed to delete user."
]
}
Received response:
Request failed with error:
Display parent organizations options
Display a listing of the parent organizations options, other then itself and its exiting children.
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/admin/organizations/1/parent-options" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/admin/organizations/1/parent-options"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/admin/organizations/1/parent-options',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": [
{
"id": 4,
"name": "org name",
"description": "org description",
"image": "/storage/organizations/jlvKGDV1XjzIzfNrm1Py8gqgVkHpENwLoQj6OMjV.jpeg",
"domain": "orgdomain"
},
{
"id": 6,
"name": "org name 6 test2",
"description": "org description6",
"image": "/storage/organizations/jlvKGDV1XjzIzfNrm1Py8gqgVkHpENwLoQj6OMjV.jpeg",
"domain": "orgdomain6"
}
],
"links": {
"first": "http://127.0.0.1:8000/api/v1/admin/organizations/3/parent-options?page=1",
"last": "http://127.0.0.1:8000/api/v1/admin/organizations/3/parent-options?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"path": "http://127.0.0.1:8000/api/v1/admin/organizations/3/parent-options",
"per_page": 15,
"to": 12,
"total": 2
}
}
Received response:
Request failed with error:
Display member options
Display a listing of the user member options, other then the exiting ones.
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/admin/organizations/1/member-options" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/admin/organizations/1/member-options"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/admin/organizations/1/member-options',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": [
{
"id": 1242,
"name": "123security products",
"email": "wirelessproducts.wl@gmail.com",
"first_name": "123security",
"last_name": "products",
"job_title": "123securityproducts",
"organization_type": null,
"is_admin": false,
"organization_name": "123securityproducts",
"created_at": "14-Sep-2020",
"updated_at": "14-Sep-2020"
},
{
"id": 824,
"name": "168xoso com",
"email": "168xosocom@gmail.com",
"first_name": "168xoso",
"last_name": "com",
"job_title": "",
"organization_type": null,
"is_admin": false,
"organization_name": "168xoso - Trực tiếp kết quả xổ số miền bắc",
"created_at": "12-Aug-2020",
"updated_at": "12-Aug-2020"
}
],
"links": {
"first": "http://127.0.0.1:8000/api/v1/admin/organizations/3/member-options?page=1",
"last": "http://127.0.0.1:8000/api/v1/admin/organizations/3/member-options?page=109",
"prev": null,
"next": "http://127.0.0.1:8000/api/v1/admin/organizations/3/member-options?page=2"
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 109,
"path": "http://127.0.0.1:8000/api/v1/admin/organizations/3/member-options",
"per_page": 15,
"to": 15,
"total": 2
}
}
Received response:
Request failed with error:
Download Sample File
Download import sample file for users.
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/admin/users/import/sample-file" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/admin/users/import/sample-file"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/admin/users/import/sample-file',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"file": "Downloadable sample file."
}
Example response (500):
{
"errors": [
"Sample file not found!"
]
}
Received response:
Request failed with error:
H5P H5P Resource Settings
Get H5P Resource Settings
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/brightcove/1/1/1/1/h5p-resource-settings" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/brightcove/1/1/1/1/h5p-resource-settings"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/brightcove/1/1/1/1/h5p-resource-settings',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (404):
{
"h5p": null
}
Example response (200):
{
"h5p": {
"id": 59,
"title": "Science of Golf: Why Balls Have Dimples",
"params": "{\"interactiveVideo\":{\"video\":{\"startScreenOptions\":{\"title\":\"Interactive Video\",\"hideStartTitle\":false},\"textTracks\":{\"videoTrack\":[{\"label\":\"Subtitles\",\"kind\":\"subtitles\",\"srcLang\":\"en\"}]},\"files\":[{\"path\":\"https://youtu.be/fcjaxC-e8oY\",\"mime\":\"video/YouTube\",\"copyright\":{\"license\":\"U\"},\"aspectRatio\":\"16:9\"}]},\"assets\":{\"interactions\":[{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":58.33,\"to\":68.33},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"133bca3d-cfe9-442d-a887-8bf1e2ce682a\",\"question\":\"<p>Why do golf balls have dimples?</p>\\n\",\"answers\":[\"<p>They reduce wind resistance.</p>\\n\",\"<p>They make the ball more visually interesting.</p>\\n\",\"<p>They grip the putting green better than a smooth ball.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"ac029b43-7225-49ed-a2d7-8656037748e0\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Why do golf balls have dimples?\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Why do golf balls have dimples?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Why do golf balls have dimples?</p>\\n\"},{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":132.969,\"to\":142.969},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"308503f3-8d41-4f4f-b016-587bcce3dfac\",\"question\":\"<p>A smooth ball will have a detached airflow, which causes what?</p>\\n\",\"answers\":[\"<p>A low pressure zone, which is what causes drag.</p>\\n\",\"<p>The ball has no spin.</p>\\n\",\"<p>The ball travels higher, but for a shorter distance.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"f70c849d-9542-4f30-9116-8b60b7da708d\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Smooth Ball?\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Smooth Ball?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Smooth Ball</p>\\n\"}],\"bookmarks\":[],\"endscreens\":[{\"time\":295,\"label\":\"4:55 Submit screen\"}]},\"summary\":{\"task\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"8e2cf84f-4557-4f79-a03e-526838498a7d\",\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"8d5527ef-3601-4ad9-9e63-2782c9775173\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Untitled Summary\"}},\"displayAt\":3}},\"override\":{\"autoplay\":false,\"loop\":false,\"showBookmarksmenuOnLoad\":false,\"showRewind10\":false,\"preventSkipping\":false,\"deactivateSound\":false},\"l10n\":{\"interaction\":\"Interaction\",\"play\":\"Play\",\"pause\":\"Pause\",\"mute\":\"Mute\",\"unmute\":\"Unmute\",\"quality\":\"Video Quality\",\"captions\":\"Captions\",\"close\":\"Close\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit Fullscreen\",\"summary\":\"Open summary dialog\",\"bookmarks\":\"Bookmarks\",\"endscreen\":\"Submit screen\",\"defaultAdaptivitySeekLabel\":\"Continue\",\"continueWithVideo\":\"Continue with video\",\"playbackRate\":\"Playback Rate\",\"rewind10\":\"Rewind 10 Seconds\",\"navDisabled\":\"Navigation is disabled\",\"sndDisabled\":\"Sound is disabled\",\"requiresCompletionWarning\":\"You need to answer all the questions correctly before continuing.\",\"back\":\"Back\",\"hours\":\"Hours\",\"minutes\":\"Minutes\",\"seconds\":\"Seconds\",\"currentTime\":\"Current time:\",\"totalTime\":\"Total time:\",\"singleInteractionAnnouncement\":\"Interaction appeared:\",\"multipleInteractionsAnnouncement\":\"Multiple interactions appeared.\",\"videoPausedAnnouncement\":\"Video is paused\",\"content\":\"Content\",\"answered\":\"@answered answered\",\"endcardTitle\":\"@answered Question(s) answered\",\"endcardInformation\":\"You have answered @answered questions, click below to submit your answers.\",\"endcardInformationNoAnswers\":\"You have not answered any questions.\",\"endcardInformationMustHaveAnswer\":\"You have to answer at least one question before you can submit your answers.\",\"endcardSubmitButton\":\"Submit Answers\",\"endcardSubmitMessage\":\"Your answers have been submitted!\",\"endcardTableRowAnswered\":\"Answered questions\",\"endcardTableRowScore\":\"Score\",\"endcardAnsweredScore\":\"answered\",\"endCardTableRowSummaryWithScore\":\"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\"endCardTableRowSummaryWithoutScore\":\"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\"}}",
"filtered": "{\"interactiveVideo\":{\"video\":{\"startScreenOptions\":{\"title\":\"Interactive Video\",\"hideStartTitle\":false},\"textTracks\":{\"videoTrack\":[{\"label\":\"Subtitles\",\"kind\":\"subtitles\",\"srcLang\":\"en\"}]},\"files\":[{\"path\":\"https://youtu.be/fcjaxC-e8oY\",\"mime\":\"video/YouTube\",\"copyright\":{\"license\":\"U\"}}]},\"assets\":{\"interactions\":[{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":58.33,\"to\":68.33},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"133bca3d-cfe9-442d-a887-8bf1e2ce682a\",\"question\":\"<p>Why do golf balls have dimples?</p>\\n\",\"answers\":[\"<p>They reduce wind resistance.</p>\\n\",\"<p>They make the ball more visually interesting.</p>\\n\",\"<p>They grip the putting green better than a smooth ball.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"ac029b43-7225-49ed-a2d7-8656037748e0\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Why do golf balls have dimples?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Why do golf balls have dimples?</p>\\n\"},{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":132.969,\"to\":142.969},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"308503f3-8d41-4f4f-b016-587bcce3dfac\",\"question\":\"<p>A smooth ball will have a detached airflow, which causes what?</p>\\n\",\"answers\":[\"<p>A low pressure zone, which is what causes drag.</p>\\n\",\"<p>The ball has no spin.</p>\\n\",\"<p>The ball travels higher, but for a shorter distance.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"f70c849d-9542-4f30-9116-8b60b7da708d\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Smooth Ball?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Smooth Ball</p>\\n\"}],\"endscreens\":[{\"time\":295,\"label\":\"4:55 Submit screen\"}]},\"summary\":{\"task\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"8e2cf84f-4557-4f79-a03e-526838498a7d\",\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"8d5527ef-3601-4ad9-9e63-2782c9775173\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\"}},\"displayAt\":3}},\"override\":{\"autoplay\":false,\"loop\":false,\"showBookmarksmenuOnLoad\":false,\"showRewind10\":false,\"preventSkipping\":false,\"deactivateSound\":false},\"l10n\":{\"interaction\":\"Interaction\",\"play\":\"Play\",\"pause\":\"Pause\",\"mute\":\"Mute\",\"unmute\":\"Unmute\",\"quality\":\"Video Quality\",\"captions\":\"Captions\",\"close\":\"Close\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit Fullscreen\",\"summary\":\"Open summary dialog\",\"bookmarks\":\"Bookmarks\",\"endscreen\":\"Submit screen\",\"defaultAdaptivitySeekLabel\":\"Continue\",\"continueWithVideo\":\"Continue with video\",\"playbackRate\":\"Playback Rate\",\"rewind10\":\"Rewind 10 Seconds\",\"navDisabled\":\"Navigation is disabled\",\"sndDisabled\":\"Sound is disabled\",\"requiresCompletionWarning\":\"You need to answer all the questions correctly before continuing.\",\"back\":\"Back\",\"hours\":\"Hours\",\"minutes\":\"Minutes\",\"seconds\":\"Seconds\",\"currentTime\":\"Current time:\",\"totalTime\":\"Total time:\",\"singleInteractionAnnouncement\":\"Interaction appeared:\",\"multipleInteractionsAnnouncement\":\"Multiple interactions appeared.\",\"videoPausedAnnouncement\":\"Video is paused\",\"content\":\"Content\",\"answered\":\"@answered answered\",\"endcardTitle\":\"@answered Question(s) answered\",\"endcardInformation\":\"You have answered @answered questions, click below to submit your answers.\",\"endcardInformationNoAnswers\":\"You have not answered any questions.\",\"endcardInformationMustHaveAnswer\":\"You have to answer at least one question before you can submit your answers.\",\"endcardSubmitButton\":\"Submit Answers\",\"endcardSubmitMessage\":\"Your answers have been submitted!\",\"endcardTableRowAnswered\":\"Answered questions\",\"endcardTableRowScore\":\"Score\",\"endcardAnsweredScore\":\"answered\",\"endCardTableRowSummaryWithScore\":\"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\"endCardTableRowSummaryWithoutScore\":\"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\"}}",
"slug": "science-of-golf-why-balls-have-dimples",
"user_id": 1,
"embedType": "div",
"disable": 9,
"libraryMajorVersion": 1,
"libraryMinorVersion": 21,
"authors": null,
"source": null,
"yearFrom": null,
"yearTo": null,
"licenseVersion": null,
"licenseExtras": null,
"authorComments": null,
"changes": null,
"defaultLanguage": null,
"metadata": {
"title": "Science of Golf: Why Balls Have Dimples",
"license": "U"
},
"library": {
"id": 40,
"name": "H5P.InteractiveVideo",
"majorVersion": 1,
"minorVersion": 21,
"embedTypes": "iframe",
"fullscreen": 1
},
"language": "en",
"tags": ""
},
"activity": {
"id": 1,
"playlist_id": 1,
"title": "Science of Golf: Why Balls Have Dimples",
"type": "h5p",
"content": "",
"shared": false,
"order": 2,
"thumb_url": null,
"subject_id": null,
"education_level_id": null,
"h5p_content": {
"id": 59,
"created_at": "2020-04-30T20:24:58.000000Z",
"updated_at": "2020-04-30T20:24:58.000000Z",
"user_id": 1,
"title": "Science of Golf: Why Balls Have Dimples",
"library_id": 40,
"parameters": "{\"interactiveVideo\":{\"video\":{\"startScreenOptions\":{\"title\":\"Interactive Video\",\"hideStartTitle\":false},\"textTracks\":{\"videoTrack\":[{\"label\":\"Subtitles\",\"kind\":\"subtitles\",\"srcLang\":\"en\"}]},\"files\":[{\"path\":\"https://youtu.be/fcjaxC-e8oY\",\"mime\":\"video/YouTube\",\"copyright\":{\"license\":\"U\"},\"aspectRatio\":\"16:9\"}]},\"assets\":{\"interactions\":[{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":58.33,\"to\":68.33},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"133bca3d-cfe9-442d-a887-8bf1e2ce682a\",\"question\":\"<p>Why do golf balls have dimples?</p>\\n\",\"answers\":[\"<p>They reduce wind resistance.</p>\\n\",\"<p>They make the ball more visually interesting.</p>\\n\",\"<p>They grip the putting green better than a smooth ball.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"ac029b43-7225-49ed-a2d7-8656037748e0\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Why do golf balls have dimples?\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Why do golf balls have dimples?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Why do golf balls have dimples?</p>\\n\"},{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":132.969,\"to\":142.969},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"308503f3-8d41-4f4f-b016-587bcce3dfac\",\"question\":\"<p>A smooth ball will have a detached airflow, which causes what?</p>\\n\",\"answers\":[\"<p>A low pressure zone, which is what causes drag.</p>\\n\",\"<p>The ball has no spin.</p>\\n\",\"<p>The ball travels higher, but for a shorter distance.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"f70c849d-9542-4f30-9116-8b60b7da708d\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Smooth Ball?\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Smooth Ball?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Smooth Ball</p>\\n\"}],\"bookmarks\":[],\"endscreens\":[{\"time\":295,\"label\":\"4:55 Submit screen\"}]},\"summary\":{\"task\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"8e2cf84f-4557-4f79-a03e-526838498a7d\",\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"8d5527ef-3601-4ad9-9e63-2782c9775173\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Untitled Summary\"}},\"displayAt\":3}},\"override\":{\"autoplay\":false,\"loop\":false,\"showBookmarksmenuOnLoad\":false,\"showRewind10\":false,\"preventSkipping\":false,\"deactivateSound\":false},\"l10n\":{\"interaction\":\"Interaction\",\"play\":\"Play\",\"pause\":\"Pause\",\"mute\":\"Mute\",\"unmute\":\"Unmute\",\"quality\":\"Video Quality\",\"captions\":\"Captions\",\"close\":\"Close\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit Fullscreen\",\"summary\":\"Open summary dialog\",\"bookmarks\":\"Bookmarks\",\"endscreen\":\"Submit screen\",\"defaultAdaptivitySeekLabel\":\"Continue\",\"continueWithVideo\":\"Continue with video\",\"playbackRate\":\"Playback Rate\",\"rewind10\":\"Rewind 10 Seconds\",\"navDisabled\":\"Navigation is disabled\",\"sndDisabled\":\"Sound is disabled\",\"requiresCompletionWarning\":\"You need to answer all the questions correctly before continuing.\",\"back\":\"Back\",\"hours\":\"Hours\",\"minutes\":\"Minutes\",\"seconds\":\"Seconds\",\"currentTime\":\"Current time:\",\"totalTime\":\"Total time:\",\"singleInteractionAnnouncement\":\"Interaction appeared:\",\"multipleInteractionsAnnouncement\":\"Multiple interactions appeared.\",\"videoPausedAnnouncement\":\"Video is paused\",\"content\":\"Content\",\"answered\":\"@answered answered\",\"endcardTitle\":\"@answered Question(s) answered\",\"endcardInformation\":\"You have answered @answered questions, click below to submit your answers.\",\"endcardInformationNoAnswers\":\"You have not answered any questions.\",\"endcardInformationMustHaveAnswer\":\"You have to answer at least one question before you can submit your answers.\",\"endcardSubmitButton\":\"Submit Answers\",\"endcardSubmitMessage\":\"Your answers have been submitted!\",\"endcardTableRowAnswered\":\"Answered questions\",\"endcardTableRowScore\":\"Score\",\"endcardAnsweredScore\":\"answered\",\"endCardTableRowSummaryWithScore\":\"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\"endCardTableRowSummaryWithoutScore\":\"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\"}}",
"filtered": "{\"interactiveVideo\":{\"video\":{\"startScreenOptions\":{\"title\":\"Interactive Video\",\"hideStartTitle\":false},\"textTracks\":{\"videoTrack\":[{\"label\":\"Subtitles\",\"kind\":\"subtitles\",\"srcLang\":\"en\"}]},\"files\":[{\"path\":\"https://youtu.be/fcjaxC-e8oY\",\"mime\":\"video/YouTube\",\"copyright\":{\"license\":\"U\"}}]},\"assets\":{\"interactions\":[{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":58.33,\"to\":68.33},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"133bca3d-cfe9-442d-a887-8bf1e2ce682a\",\"question\":\"<p>Why do golf balls have dimples?</p>\\n\",\"answers\":[\"<p>They reduce wind resistance.</p>\\n\",\"<p>They make the ball more visually interesting.</p>\\n\",\"<p>They grip the putting green better than a smooth ball.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"ac029b43-7225-49ed-a2d7-8656037748e0\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Why do golf balls have dimples?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Why do golf balls have dimples?</p>\\n\"},{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":132.969,\"to\":142.969},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"308503f3-8d41-4f4f-b016-587bcce3dfac\",\"question\":\"<p>A smooth ball will have a detached airflow, which causes what?</p>\\n\",\"answers\":[\"<p>A low pressure zone, which is what causes drag.</p>\\n\",\"<p>The ball has no spin.</p>\\n\",\"<p>The ball travels higher, but for a shorter distance.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"f70c849d-9542-4f30-9116-8b60b7da708d\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Smooth Ball?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Smooth Ball</p>\\n\"}],\"endscreens\":[{\"time\":295,\"label\":\"4:55 Submit screen\"}]},\"summary\":{\"task\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"8e2cf84f-4557-4f79-a03e-526838498a7d\",\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"8d5527ef-3601-4ad9-9e63-2782c9775173\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\"}},\"displayAt\":3}},\"override\":{\"autoplay\":false,\"loop\":false,\"showBookmarksmenuOnLoad\":false,\"showRewind10\":false,\"preventSkipping\":false,\"deactivateSound\":false},\"l10n\":{\"interaction\":\"Interaction\",\"play\":\"Play\",\"pause\":\"Pause\",\"mute\":\"Mute\",\"unmute\":\"Unmute\",\"quality\":\"Video Quality\",\"captions\":\"Captions\",\"close\":\"Close\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit Fullscreen\",\"summary\":\"Open summary dialog\",\"bookmarks\":\"Bookmarks\",\"endscreen\":\"Submit screen\",\"defaultAdaptivitySeekLabel\":\"Continue\",\"continueWithVideo\":\"Continue with video\",\"playbackRate\":\"Playback Rate\",\"rewind10\":\"Rewind 10 Seconds\",\"navDisabled\":\"Navigation is disabled\",\"sndDisabled\":\"Sound is disabled\",\"requiresCompletionWarning\":\"You need to answer all the questions correctly before continuing.\",\"back\":\"Back\",\"hours\":\"Hours\",\"minutes\":\"Minutes\",\"seconds\":\"Seconds\",\"currentTime\":\"Current time:\",\"totalTime\":\"Total time:\",\"singleInteractionAnnouncement\":\"Interaction appeared:\",\"multipleInteractionsAnnouncement\":\"Multiple interactions appeared.\",\"videoPausedAnnouncement\":\"Video is paused\",\"content\":\"Content\",\"answered\":\"@answered answered\",\"endcardTitle\":\"@answered Question(s) answered\",\"endcardInformation\":\"You have answered @answered questions, click below to submit your answers.\",\"endcardInformationNoAnswers\":\"You have not answered any questions.\",\"endcardInformationMustHaveAnswer\":\"You have to answer at least one question before you can submit your answers.\",\"endcardSubmitButton\":\"Submit Answers\",\"endcardSubmitMessage\":\"Your answers have been submitted!\",\"endcardTableRowAnswered\":\"Answered questions\",\"endcardTableRowScore\":\"Score\",\"endcardAnsweredScore\":\"answered\",\"endCardTableRowSummaryWithScore\":\"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\"endCardTableRowSummaryWithoutScore\":\"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\"}}",
"slug": "science-of-golf-why-balls-have-dimples",
"embed_type": "div",
"disable": 9,
"content_type": null,
"authors": null,
"source": null,
"year_from": null,
"year_to": null,
"license": "U",
"license_version": null,
"license_extras": null,
"author_comments": null,
"changes": null,
"default_language": null
},
"is_public": false,
"created_at": null,
"updated_at": null
},
"playlist": {
"id": 1,
"title": "The Engineering & Design Behind Golf Balls",
"order": 0,
"is_public": true,
"project_id": 1,
"project": {
"id": 1,
"name": "The Science of Golf",
"description": "Uncover the science, technology, engineering, and mathematics behind the game of golf.",
"thumb_url": "/storage/projects/nN5y8v8zh2ghxrKuHCv5wvJOREFw0Nr27s2DPxWq.png",
"shared": false,
"starter_project": false,
"users": [
{
"id": 1,
"email": "john.doe@currikistudio.org",
"first_name": "John",
"last_name": "Doe",
"role": "owner"
}
],
"is_public": true,
"created_at": "2020-04-30T20:03:12.000000Z",
"updated_at": "2020-07-11T12:51:07.000000Z"
},
"activities": [
{
"id": 4,
"playlist_id": 1,
"title": "Labeling Golf Ball - Principles of Physics",
"type": "h5p",
"content": "",
"shared": false,
"order": 0,
"thumb_url": null,
"subject_id": null,
"education_level_id": null,
"h5p_content": {
"id": 65,
"created_at": "2020-04-30T23:40:49.000000Z",
"updated_at": "2020-04-30T23:40:49.000000Z",
"user_id": 1,
"title": "Labeling Golf Ball - Principles of Physics",
"library_id": 19,
"parameters": "{\"scoreShow\":\"Check\",\"tryAgain\":\"Retry\",\"scoreExplanation\":\"Correct answers give +1 point. Incorrect answers give -1 point. The lowest possible score is 0.\",\"question\":{\"settings\":{\"size\":{\"width\":620,\"height\":310},\"background\":{\"path\":\"images/background-5eab614083be2.png#tmp\",\"mime\":\"image/png\",\"copyright\":{\"license\":\"U\"},\"width\":620,\"height\":310}},\"task\":{\"elements\":[{\"x\":0,\"y\":47.96909692035003,\"width\":7.812090416666667,\"height\":1.3537570833333332,\"dropZones\":[\"0\",\"1\",\"2\"],\"type\":{\"library\":\"H5P.AdvancedText 1.1\",\"params\":{\"text\":\"<p>Lift</p>\\n\"},\"subContentId\":\"be1d9b11-91ff-4e59-a7c6-9966e1bf8cb2\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Lift\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Lift\"}},\"backgroundOpacity\":100,\"multiple\":false},{\"x\":-4.63163666049382e-8,\"y\":58.810763796296285,\"width\":7.812090416666667,\"height\":1.3537570833333332,\"dropZones\":[\"0\",\"1\",\"2\"],\"type\":{\"library\":\"H5P.AdvancedText 1.1\",\"params\":{\"text\":\"<p>Drag</p>\\n\"},\"subContentId\":\"05a00202-b5dd-44a9-acf1-0cce77278b33\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Drag\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Drag\"}},\"backgroundOpacity\":100,\"multiple\":false},{\"x\":-4.63163666049382e-8,\"y\":36.89236101851851,\"width\":7.812090416666667,\"height\":1.281997824074074,\"dropZones\":[\"0\",\"1\",\"2\"],\"type\":{\"library\":\"H5P.AdvancedText 1.1\",\"params\":{\"text\":\"<p>Spin</p>\\n\"},\"subContentId\":\"140a5423-873b-46d4-8f4f-9b236cefce20\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Spin\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Spin\"}},\"backgroundOpacity\":100,\"multiple\":false}],\"dropZones\":[{\"x\":72.35516653328209,\"y\":14.75972212933847,\"width\":8.61111111111111,\"height\":2.511574074074074,\"correctElements\":[\"0\"],\"showLabel\":false,\"backgroundOpacity\":50,\"tipsAndFeedback\":{\"tip\":\"\"},\"single\":true,\"autoAlign\":true,\"type\":{\"library\":\"H5P.DragQuestionDropzone 0.1\"},\"label\":\"<div>Lift</div>\\n\"},{\"x\":72.35484909201396,\"y\":36.89236101851851,\"width\":8.61111111111111,\"height\":2.511574074074074,\"correctElements\":[\"1\"],\"showLabel\":false,\"backgroundOpacity\":50,\"tipsAndFeedback\":{\"tip\":\"\"},\"single\":true,\"autoAlign\":true,\"type\":{\"library\":\"H5P.DragQuestionDropzone 0.1\"},\"label\":\"<div>Drag</div>\\n\"},{\"x\":72.35516653328209,\"y\":51.65902745268465,\"width\":8.61111111111111,\"height\":2.511574074074074,\"correctElements\":[\"2\"],\"showLabel\":false,\"backgroundOpacity\":50,\"tipsAndFeedback\":{\"tip\":\"\"},\"single\":true,\"autoAlign\":true,\"type\":{\"library\":\"H5P.DragQuestionDropzone 0.1\"},\"label\":\"<div>Spin</div>\\n\"}]}},\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"enableRetry\":true,\"enableCheckButton\":true,\"showSolutionsRequiresInput\":true,\"singlePoint\":false,\"applyPenalties\":true,\"enableScoreExplanation\":true,\"dropZoneHighlighting\":\"dragging\",\"autoAlignSpacing\":2,\"enableFullScreen\":false,\"showScorePoints\":true,\"showTitle\":true},\"grabbablePrefix\":\"Grabbable {num} of {total}.\",\"grabbableSuffix\":\"Placed in dropzone {num}.\",\"dropzonePrefix\":\"Dropzone {num} of {total}.\",\"noDropzone\":\"No dropzone.\",\"tipLabel\":\"Show tip.\",\"tipAvailable\":\"Tip available\",\"correctAnswer\":\"Correct answer\",\"wrongAnswer\":\"Wrong answer\",\"feedbackHeader\":\"Feedback\",\"scoreBarLabel\":\"You got :num out of :total points\",\"scoreExplanationButtonLabel\":\"Show score explanation\",\"localize\":{\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit fullscreen\"}}",
"filtered": "{\"scoreShow\":\"Check\",\"tryAgain\":\"Retry\",\"scoreExplanation\":\"Correct answers give +1 point. Incorrect answers give -1 point. The lowest possible score is 0.\",\"question\":{\"settings\":{\"size\":{\"width\":620,\"height\":310},\"background\":{\"path\":\"images/background-5eab614083be2.png\",\"mime\":\"image/png\",\"copyright\":{\"license\":\"U\"},\"width\":620,\"height\":310}},\"task\":{\"elements\":[{\"x\":0,\"y\":47.96909692035003,\"width\":7.812090416666667,\"height\":1.3537570833333332,\"dropZones\":[\"0\",\"1\",\"2\"],\"type\":{\"library\":\"H5P.AdvancedText 1.1\",\"params\":{\"text\":\"<p>Lift</p>\\n\"},\"subContentId\":\"be1d9b11-91ff-4e59-a7c6-9966e1bf8cb2\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Lift\"}},\"backgroundOpacity\":100,\"multiple\":false},{\"x\":-4.63163666049382e-8,\"y\":58.810763796296285,\"width\":7.812090416666667,\"height\":1.3537570833333332,\"dropZones\":[\"0\",\"1\",\"2\"],\"type\":{\"library\":\"H5P.AdvancedText 1.1\",\"params\":{\"text\":\"<p>Drag</p>\\n\"},\"subContentId\":\"05a00202-b5dd-44a9-acf1-0cce77278b33\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Drag\"}},\"backgroundOpacity\":100,\"multiple\":false},{\"x\":-4.63163666049382e-8,\"y\":36.89236101851851,\"width\":7.812090416666667,\"height\":1.281997824074074,\"dropZones\":[\"0\",\"1\",\"2\"],\"type\":{\"library\":\"H5P.AdvancedText 1.1\",\"params\":{\"text\":\"<p>Spin</p>\\n\"},\"subContentId\":\"140a5423-873b-46d4-8f4f-9b236cefce20\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Spin\"}},\"backgroundOpacity\":100,\"multiple\":false}],\"dropZones\":[{\"x\":72.35516653328209,\"y\":14.75972212933847,\"width\":8.61111111111111,\"height\":2.511574074074074,\"correctElements\":[\"0\"],\"showLabel\":false,\"backgroundOpacity\":50,\"tipsAndFeedback\":{\"tip\":\"\"},\"single\":true,\"autoAlign\":true,\"label\":\"<div>Lift</div>\\n\"},{\"x\":72.35484909201396,\"y\":36.89236101851851,\"width\":8.61111111111111,\"height\":2.511574074074074,\"correctElements\":[\"1\"],\"showLabel\":false,\"backgroundOpacity\":50,\"tipsAndFeedback\":{\"tip\":\"\"},\"single\":true,\"autoAlign\":true,\"label\":\"<div>Drag</div>\\n\"},{\"x\":72.35516653328209,\"y\":51.65902745268465,\"width\":8.61111111111111,\"height\":2.511574074074074,\"correctElements\":[\"2\"],\"showLabel\":false,\"backgroundOpacity\":50,\"tipsAndFeedback\":{\"tip\":\"\"},\"single\":true,\"autoAlign\":true,\"label\":\"<div>Spin</div>\\n\"}]}},\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"enableRetry\":true,\"enableCheckButton\":true,\"showSolutionsRequiresInput\":true,\"singlePoint\":false,\"applyPenalties\":true,\"enableScoreExplanation\":true,\"dropZoneHighlighting\":\"dragging\",\"autoAlignSpacing\":2,\"enableFullScreen\":false,\"showScorePoints\":true,\"showTitle\":true},\"grabbablePrefix\":\"Grabbable {num} of {total}.\",\"grabbableSuffix\":\"Placed in dropzone {num}.\",\"dropzonePrefix\":\"Dropzone {num} of {total}.\",\"noDropzone\":\"No dropzone.\",\"tipLabel\":\"Show tip.\",\"tipAvailable\":\"Tip available\",\"correctAnswer\":\"Correct answer\",\"wrongAnswer\":\"Wrong answer\",\"feedbackHeader\":\"Feedback\",\"scoreBarLabel\":\"You got :num out of :total points\",\"scoreExplanationButtonLabel\":\"Show score explanation\",\"localize\":{\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit fullscreen\"}}",
"slug": "labeling-golf-ball-principles-of-physics",
"embed_type": "div",
"disable": 9,
"content_type": null,
"authors": null,
"source": null,
"year_from": null,
"year_to": null,
"license": "U",
"license_version": null,
"license_extras": null,
"author_comments": null,
"changes": null,
"default_language": null
},
"is_public": false,
"created_at": null,
"updated_at": null
},
{
"id": 17774,
"playlist_id": 1,
"title": "Latest",
"type": "h5p",
"content": "test",
"shared": false,
"order": null,
"thumb_url": "/storage/activities/DrV6rZ6ZDXFMT1k51gbOqw04rqguq6CMtiiD1nDH.png",
"subject_id": "Mathematics",
"education_level_id": null,
"h5p_content": {
"id": 19334,
"created_at": "2020-08-30T20:09:56.000000Z",
"updated_at": "2020-08-30T20:09:56.000000Z",
"user_id": 1,
"title": "Latest",
"library_id": 98,
"parameters": "{\"l10n\":{\"recordAnswer\":\"Record\",\"pause\":\"Pause\",\"continue\":\"Continue\",\"download\":\"Download\",\"done\":\"Done\",\"retry\":\"Retry\",\"microphoneNotSupported\":\"Microphone not supported. Make sure you are using a browser that allows microphone recording.\",\"microphoneInaccessible\":\"Microphone is not accessible. Make sure that the browser microphone is enabled.\",\"insecureNotAllowed\":\"Access to microphone is not allowed in your browser since this page is not served using HTTPS. Please contact the author, and ask him to make this available using HTTPS\",\"statusReadyToRecord\":\"Press a button below to record your answer.\",\"statusRecording\":\"Recording...\",\"statusPaused\":\"Recording paused. Press a button to continue recording.\",\"statusFinishedRecording\":\"You have successfully recorded your answer! Listen to the recording below.\",\"downloadRecording\":\"Download this recording or retry.\",\"retryDialogHeaderText\":\"Retry recording?\",\"retryDialogBodyText\":\"By pressing \\\"Retry\\\" you will lose your current recording.\",\"retryDialogConfirmText\":\"Retry\",\"retryDialogCancelText\":\"Cancel\",\"statusCantCreateTheAudioFile\":\"Can't create the audio file.\"}}",
"filtered": "",
"slug": "latest",
"embed_type": "div",
"disable": 9,
"content_type": null,
"authors": null,
"source": null,
"year_from": null,
"year_to": null,
"license": "U",
"license_version": null,
"license_extras": null,
"author_comments": null,
"changes": null,
"default_language": null
},
"is_public": false,
"created_at": "2020-08-30T20:22:47.000000Z",
"updated_at": "2020-08-30T20:22:47.000000Z"
},
{
"id": 17776,
"playlist_id": 1,
"title": "Latest",
"type": "h5p",
"content": "test",
"shared": false,
"order": null,
"thumb_url": "/storage/activities/DrV6rZ6ZDXFMT1k51gbOqw04rqguq6CMtiiD1nDH.png",
"subject_id": "Mathematics",
"education_level_id": null,
"h5p_content": {
"id": 19334,
"created_at": "2020-08-30T20:09:56.000000Z",
"updated_at": "2020-08-30T20:09:56.000000Z",
"user_id": 1,
"title": "Latest",
"library_id": 98,
"parameters": "{\"l10n\":{\"recordAnswer\":\"Record\",\"pause\":\"Pause\",\"continue\":\"Continue\",\"download\":\"Download\",\"done\":\"Done\",\"retry\":\"Retry\",\"microphoneNotSupported\":\"Microphone not supported. Make sure you are using a browser that allows microphone recording.\",\"microphoneInaccessible\":\"Microphone is not accessible. Make sure that the browser microphone is enabled.\",\"insecureNotAllowed\":\"Access to microphone is not allowed in your browser since this page is not served using HTTPS. Please contact the author, and ask him to make this available using HTTPS\",\"statusReadyToRecord\":\"Press a button below to record your answer.\",\"statusRecording\":\"Recording...\",\"statusPaused\":\"Recording paused. Press a button to continue recording.\",\"statusFinishedRecording\":\"You have successfully recorded your answer! Listen to the recording below.\",\"downloadRecording\":\"Download this recording or retry.\",\"retryDialogHeaderText\":\"Retry recording?\",\"retryDialogBodyText\":\"By pressing \\\"Retry\\\" you will lose your current recording.\",\"retryDialogConfirmText\":\"Retry\",\"retryDialogCancelText\":\"Cancel\",\"statusCantCreateTheAudioFile\":\"Can't create the audio file.\"}}",
"filtered": "",
"slug": "latest",
"embed_type": "div",
"disable": 9,
"content_type": null,
"authors": null,
"source": null,
"year_from": null,
"year_to": null,
"license": "U",
"license_version": null,
"license_extras": null,
"author_comments": null,
"changes": null,
"default_language": null
},
"is_public": false,
"created_at": "2020-08-30T20:24:29.000000Z",
"updated_at": "2020-08-30T20:24:29.000000Z"
},
{
"id": 3,
"playlist_id": 1,
"title": "Physics Vocabulary Study Guide",
"type": "h5p",
"content": "",
"shared": false,
"order": 1,
"thumb_url": null,
"subject_id": null,
"education_level_id": null,
"h5p_content": {
"id": 61,
"created_at": "2020-04-30T20:35:30.000000Z",
"updated_at": "2020-04-30T20:35:30.000000Z",
"user_id": 1,
"title": "Physics Vocabulary Study Guide",
"library_id": 63,
"parameters": "{\"panels\":[{\"content\":{\"params\":{\"text\":\"<p style=\\\"margin-bottom:10px\\\"><span style=\\\"font-size:11pt\\\"><span style=\\\"line-height:107%\\\"><span style=\\\"font-family:Calibri,sans-serif\\\">Acceleration is the measurement of the change </span></span></span><span style=\\\"font-size:11.0pt\\\"><span style=\\\"line-height:107%\\\"><span style=\\\"font-family:"Calibri",sans-serif\\\">in an object\\u2019s velocity. </span></span></span></p>\\n\"},\"library\":\"H5P.AdvancedText 1.1\",\"subContentId\":\"97578055-d386-46be-afe3-c19eae4108aa\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Acceleration\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Acceleration\"}},\"title\":\"Acceleration\"},{\"content\":{\"params\":{\"text\":\"<p style=\\\"margin-bottom:10px\\\"><span style=\\\"font-size:11pt\\\"><span style=\\\"line-height:107%\\\"><span style=\\\"font-family:Calibri,sans-serif\\\">The faster the air moves, the less pressure it exerts.</span></span></span></p>\\n\"},\"library\":\"H5P.AdvancedText 1.1\",\"subContentId\":\"0ce32fbf-4ff1-465b-9c50-8876c5fef34d\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Bernoulli\\u2019s Principle\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Bernoulli\\u2019s Principle\"}},\"title\":\"Bernoulli\\u2019s Principle\"},{\"content\":{\"params\":{\"text\":\"<p><span style=\\\"font-size:10.5pt\\\"><span style=\\\"line-height:107%\\\"><span style=\\\"font-family:"Calibri",sans-serif\\\"><span style=\\\"color:black\\\">A vector is a quantity that has both a magnitude and a direction.</span></span></span></span></p>\\n\"},\"library\":\"H5P.AdvancedText 1.1\",\"subContentId\":\"cead752e-0c29-4acb-b9ae-2f61a3cd5c9b\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Vector\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Vector\"}},\"title\":\"Vector\"},{\"content\":{\"params\":{\"text\":\"<p><span style=\\\"font-size:10.5pt\\\"><span style=\\\"line-height:107%\\\"><span style=\\\"font-family:"Calibri",sans-serif\\\"><span style=\\\"color:black\\\">Drag is the force that acts opposite to the direction of motion. Drag is caused by friction and differences in air pressure.</span></span></span></span></p>\\n\"},\"library\":\"H5P.AdvancedText 1.1\",\"subContentId\":\"6ae4b819-276d-405e-b085-e894c31484d3\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Drag\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Drag\"}},\"title\":\"Drag\"},{\"content\":{\"params\":{\"text\":\"<p style=\\\"margin-bottom:10px\\\"><span style=\\\"font-size:11pt\\\"><span style=\\\"line-height:normal\\\"><span style=\\\"font-family:Calibri,sans-serif\\\"><span style=\\\"font-size:10.5pt\\\"><span style=\\\"color:black\\\">A turbulent flow is one in which the particles have irregular, fluctuating motions and erratic paths.</span></span></span></span></span></p>\\n\"},\"library\":\"H5P.AdvancedText 1.1\",\"subContentId\":\"f9f63fdd-0a8a-4259-a3f1-ca7271b51727\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Turbulent airflow\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Turbulent airflow\"}},\"title\":\"Turbulent airflow\"},{\"content\":{\"params\":{\"text\":\"<p style=\\\"margin-bottom:10px\\\"><span style=\\\"font-size:11pt\\\"><span style=\\\"line-height:107%\\\"><span style=\\\"font-family:Calibri,sans-serif\\\">Friction is the resistance of motion when one object rubs against another. It is a force and is measured in newtons.</span></span></span></p>\\n\"},\"library\":\"H5P.AdvancedText 1.1\",\"subContentId\":\"236c832f-f754-47d6-8d2c-1311a354d861\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Friction\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Friction\"}},\"title\":\"Friction\"}],\"hTag\":\"h2\"}",
"filtered": "{\"panels\":[{\"content\":{\"params\":{\"text\":\"<p><span><span><span>Acceleration is the measurement of the change </span></span></span><span><span><span>in an object\\u2019s velocity. </span></span></span></p>\\n\"},\"library\":\"H5P.AdvancedText 1.1\",\"subContentId\":\"97578055-d386-46be-afe3-c19eae4108aa\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Acceleration\"}},\"title\":\"Acceleration\"},{\"content\":{\"params\":{\"text\":\"<p><span><span><span>The faster the air moves, the less pressure it exerts.</span></span></span></p>\\n\"},\"library\":\"H5P.AdvancedText 1.1\",\"subContentId\":\"0ce32fbf-4ff1-465b-9c50-8876c5fef34d\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Bernoulli\\u2019s Principle\"}},\"title\":\"Bernoulli\\u2019s Principle\"},{\"content\":{\"params\":{\"text\":\"<p><span><span><span><span>A vector is a quantity that has both a magnitude and a direction.</span></span></span></span></p>\\n\"},\"library\":\"H5P.AdvancedText 1.1\",\"subContentId\":\"cead752e-0c29-4acb-b9ae-2f61a3cd5c9b\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Vector\"}},\"title\":\"Vector\"},{\"content\":{\"params\":{\"text\":\"<p><span><span><span><span>Drag is the force that acts opposite to the direction of motion. Drag is caused by friction and differences in air pressure.</span></span></span></span></p>\\n\"},\"library\":\"H5P.AdvancedText 1.1\",\"subContentId\":\"6ae4b819-276d-405e-b085-e894c31484d3\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Drag\"}},\"title\":\"Drag\"},{\"content\":{\"params\":{\"text\":\"<p><span><span><span><span><span>A turbulent flow is one in which the particles have irregular, fluctuating motions and erratic paths.</span></span></span></span></span></p>\\n\"},\"library\":\"H5P.AdvancedText 1.1\",\"subContentId\":\"f9f63fdd-0a8a-4259-a3f1-ca7271b51727\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Turbulent airflow\"}},\"title\":\"Turbulent airflow\"},{\"content\":{\"params\":{\"text\":\"<p><span><span><span>Friction is the resistance of motion when one object rubs against another. It is a force and is measured in newtons.</span></span></span></p>\\n\"},\"library\":\"H5P.AdvancedText 1.1\",\"subContentId\":\"236c832f-f754-47d6-8d2c-1311a354d861\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Friction\"}},\"title\":\"Friction\"}],\"hTag\":\"h2\"}",
"slug": "physics-vocabulary-study-guide",
"embed_type": "div",
"disable": 9,
"content_type": null,
"authors": null,
"source": null,
"year_from": null,
"year_to": null,
"license": "U",
"license_version": null,
"license_extras": null,
"author_comments": null,
"changes": null,
"default_language": null
},
"is_public": false,
"created_at": null,
"updated_at": null
},
{
"id": 1,
"playlist_id": 1,
"title": "Science of Golf: Why Balls Have Dimples",
"type": "h5p",
"content": "",
"shared": false,
"order": 2,
"thumb_url": null,
"subject_id": null,
"education_level_id": null,
"h5p_content": {
"id": 59,
"created_at": "2020-04-30T20:24:58.000000Z",
"updated_at": "2020-04-30T20:24:58.000000Z",
"user_id": 1,
"title": "Science of Golf: Why Balls Have Dimples",
"library_id": 40,
"parameters": "{\"interactiveVideo\":{\"video\":{\"startScreenOptions\":{\"title\":\"Interactive Video\",\"hideStartTitle\":false},\"textTracks\":{\"videoTrack\":[{\"label\":\"Subtitles\",\"kind\":\"subtitles\",\"srcLang\":\"en\"}]},\"files\":[{\"path\":\"https://youtu.be/fcjaxC-e8oY\",\"mime\":\"video/YouTube\",\"copyright\":{\"license\":\"U\"},\"aspectRatio\":\"16:9\"}]},\"assets\":{\"interactions\":[{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":58.33,\"to\":68.33},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"133bca3d-cfe9-442d-a887-8bf1e2ce682a\",\"question\":\"<p>Why do golf balls have dimples?</p>\\n\",\"answers\":[\"<p>They reduce wind resistance.</p>\\n\",\"<p>They make the ball more visually interesting.</p>\\n\",\"<p>They grip the putting green better than a smooth ball.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"ac029b43-7225-49ed-a2d7-8656037748e0\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Why do golf balls have dimples?\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Why do golf balls have dimples?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Why do golf balls have dimples?</p>\\n\"},{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":132.969,\"to\":142.969},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"308503f3-8d41-4f4f-b016-587bcce3dfac\",\"question\":\"<p>A smooth ball will have a detached airflow, which causes what?</p>\\n\",\"answers\":[\"<p>A low pressure zone, which is what causes drag.</p>\\n\",\"<p>The ball has no spin.</p>\\n\",\"<p>The ball travels higher, but for a shorter distance.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"f70c849d-9542-4f30-9116-8b60b7da708d\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Smooth Ball?\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Smooth Ball?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Smooth Ball</p>\\n\"}],\"bookmarks\":[],\"endscreens\":[{\"time\":295,\"label\":\"4:55 Submit screen\"}]},\"summary\":{\"task\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"8e2cf84f-4557-4f79-a03e-526838498a7d\",\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"8d5527ef-3601-4ad9-9e63-2782c9775173\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Untitled Summary\"}},\"displayAt\":3}},\"override\":{\"autoplay\":false,\"loop\":false,\"showBookmarksmenuOnLoad\":false,\"showRewind10\":false,\"preventSkipping\":false,\"deactivateSound\":false},\"l10n\":{\"interaction\":\"Interaction\",\"play\":\"Play\",\"pause\":\"Pause\",\"mute\":\"Mute\",\"unmute\":\"Unmute\",\"quality\":\"Video Quality\",\"captions\":\"Captions\",\"close\":\"Close\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit Fullscreen\",\"summary\":\"Open summary dialog\",\"bookmarks\":\"Bookmarks\",\"endscreen\":\"Submit screen\",\"defaultAdaptivitySeekLabel\":\"Continue\",\"continueWithVideo\":\"Continue with video\",\"playbackRate\":\"Playback Rate\",\"rewind10\":\"Rewind 10 Seconds\",\"navDisabled\":\"Navigation is disabled\",\"sndDisabled\":\"Sound is disabled\",\"requiresCompletionWarning\":\"You need to answer all the questions correctly before continuing.\",\"back\":\"Back\",\"hours\":\"Hours\",\"minutes\":\"Minutes\",\"seconds\":\"Seconds\",\"currentTime\":\"Current time:\",\"totalTime\":\"Total time:\",\"singleInteractionAnnouncement\":\"Interaction appeared:\",\"multipleInteractionsAnnouncement\":\"Multiple interactions appeared.\",\"videoPausedAnnouncement\":\"Video is paused\",\"content\":\"Content\",\"answered\":\"@answered answered\",\"endcardTitle\":\"@answered Question(s) answered\",\"endcardInformation\":\"You have answered @answered questions, click below to submit your answers.\",\"endcardInformationNoAnswers\":\"You have not answered any questions.\",\"endcardInformationMustHaveAnswer\":\"You have to answer at least one question before you can submit your answers.\",\"endcardSubmitButton\":\"Submit Answers\",\"endcardSubmitMessage\":\"Your answers have been submitted!\",\"endcardTableRowAnswered\":\"Answered questions\",\"endcardTableRowScore\":\"Score\",\"endcardAnsweredScore\":\"answered\",\"endCardTableRowSummaryWithScore\":\"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\"endCardTableRowSummaryWithoutScore\":\"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\"}}",
"filtered": "{\"interactiveVideo\":{\"video\":{\"startScreenOptions\":{\"title\":\"Interactive Video\",\"hideStartTitle\":false},\"textTracks\":{\"videoTrack\":[{\"label\":\"Subtitles\",\"kind\":\"subtitles\",\"srcLang\":\"en\"}]},\"files\":[{\"path\":\"https://youtu.be/fcjaxC-e8oY\",\"mime\":\"video/YouTube\",\"copyright\":{\"license\":\"U\"}}]},\"assets\":{\"interactions\":[{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":58.33,\"to\":68.33},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"133bca3d-cfe9-442d-a887-8bf1e2ce682a\",\"question\":\"<p>Why do golf balls have dimples?</p>\\n\",\"answers\":[\"<p>They reduce wind resistance.</p>\\n\",\"<p>They make the ball more visually interesting.</p>\\n\",\"<p>They grip the putting green better than a smooth ball.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"ac029b43-7225-49ed-a2d7-8656037748e0\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Why do golf balls have dimples?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Why do golf balls have dimples?</p>\\n\"},{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":132.969,\"to\":142.969},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"308503f3-8d41-4f4f-b016-587bcce3dfac\",\"question\":\"<p>A smooth ball will have a detached airflow, which causes what?</p>\\n\",\"answers\":[\"<p>A low pressure zone, which is what causes drag.</p>\\n\",\"<p>The ball has no spin.</p>\\n\",\"<p>The ball travels higher, but for a shorter distance.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"f70c849d-9542-4f30-9116-8b60b7da708d\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Smooth Ball?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Smooth Ball</p>\\n\"}],\"endscreens\":[{\"time\":295,\"label\":\"4:55 Submit screen\"}]},\"summary\":{\"task\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"8e2cf84f-4557-4f79-a03e-526838498a7d\",\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"8d5527ef-3601-4ad9-9e63-2782c9775173\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\"}},\"displayAt\":3}},\"override\":{\"autoplay\":false,\"loop\":false,\"showBookmarksmenuOnLoad\":false,\"showRewind10\":false,\"preventSkipping\":false,\"deactivateSound\":false},\"l10n\":{\"interaction\":\"Interaction\",\"play\":\"Play\",\"pause\":\"Pause\",\"mute\":\"Mute\",\"unmute\":\"Unmute\",\"quality\":\"Video Quality\",\"captions\":\"Captions\",\"close\":\"Close\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit Fullscreen\",\"summary\":\"Open summary dialog\",\"bookmarks\":\"Bookmarks\",\"endscreen\":\"Submit screen\",\"defaultAdaptivitySeekLabel\":\"Continue\",\"continueWithVideo\":\"Continue with video\",\"playbackRate\":\"Playback Rate\",\"rewind10\":\"Rewind 10 Seconds\",\"navDisabled\":\"Navigation is disabled\",\"sndDisabled\":\"Sound is disabled\",\"requiresCompletionWarning\":\"You need to answer all the questions correctly before continuing.\",\"back\":\"Back\",\"hours\":\"Hours\",\"minutes\":\"Minutes\",\"seconds\":\"Seconds\",\"currentTime\":\"Current time:\",\"totalTime\":\"Total time:\",\"singleInteractionAnnouncement\":\"Interaction appeared:\",\"multipleInteractionsAnnouncement\":\"Multiple interactions appeared.\",\"videoPausedAnnouncement\":\"Video is paused\",\"content\":\"Content\",\"answered\":\"@answered answered\",\"endcardTitle\":\"@answered Question(s) answered\",\"endcardInformation\":\"You have answered @answered questions, click below to submit your answers.\",\"endcardInformationNoAnswers\":\"You have not answered any questions.\",\"endcardInformationMustHaveAnswer\":\"You have to answer at least one question before you can submit your answers.\",\"endcardSubmitButton\":\"Submit Answers\",\"endcardSubmitMessage\":\"Your answers have been submitted!\",\"endcardTableRowAnswered\":\"Answered questions\",\"endcardTableRowScore\":\"Score\",\"endcardAnsweredScore\":\"answered\",\"endCardTableRowSummaryWithScore\":\"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\"endCardTableRowSummaryWithoutScore\":\"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\"}}",
"slug": "science-of-golf-why-balls-have-dimples",
"embed_type": "div",
"disable": 9,
"content_type": null,
"authors": null,
"source": null,
"year_from": null,
"year_to": null,
"license": "U",
"license_version": null,
"license_extras": null,
"author_comments": null,
"changes": null,
"default_language": null
},
"is_public": false,
"created_at": null,
"updated_at": null
},
{
"id": 2,
"playlist_id": 1,
"title": "Physics and Golf Balls",
"type": "h5p",
"content": "",
"shared": false,
"order": 3,
"thumb_url": null,
"subject_id": null,
"education_level_id": null,
"h5p_content": {
"id": 60,
"created_at": "2020-04-30T20:31:11.000000Z",
"updated_at": "2020-04-30T20:31:11.000000Z",
"user_id": 1,
"title": "Physics and Golf Balls",
"library_id": 60,
"parameters": "{\"cards\":[{\"text\":\"Is the measurement of the change in an object\\u2019s velocity called Speed or Acceleration?\",\"answer\":\"Acceleration\",\"image\":{\"path\":\"images/image-5eab35098aaf0.png#tmp\",\"mime\":\"image/png\",\"copyright\":{\"license\":\"U\"},\"width\":1280,\"height\":720},\"tip\":\"\"},{\"text\":\"Dimples reduce wind resistance or aerodynamic drag. Does that make the ball go farther or faster?\",\"answer\":\"Farther\",\"image\":{\"path\":\"images/image-5eab355f7ca78.jpg#tmp\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":1280,\"height\":720},\"tip\":\"\"},{\"text\":\"Do dimples on a ball increase or decrease the lift?\",\"answer\":\"Increase\",\"image\":{\"path\":\"images/image-5eab3589be9e3.jpg#tmp\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":634,\"height\":508},\"tip\":\"\"}],\"progressText\":\"Card @card of @total\",\"next\":\"Next\",\"previous\":\"Previous\",\"checkAnswerText\":\"Check\",\"showSolutionsRequiresInput\":true,\"defaultAnswerText\":\"Your answer\",\"correctAnswerText\":\"Correct\",\"incorrectAnswerText\":\"Incorrect\",\"showSolutionText\":\"Correct answer\",\"results\":\"Results\",\"ofCorrect\":\"@score of @total correct\",\"showResults\":\"Show results\",\"answerShortText\":\"A:\",\"retry\":\"Retry\",\"caseSensitive\":false,\"cardAnnouncement\":\"Incorrect answer. Correct answer was @answer\",\"pageAnnouncement\":\"Page @current of @total\",\"description\":\"See if you can remember what you learned!\"}",
"filtered": "{\"cards\":[{\"text\":\"Is the measurement of the change in an object\\u2019s velocity called Speed or Acceleration?\",\"answer\":\"Acceleration\",\"image\":{\"path\":\"images/image-5eab35098aaf0.png\",\"mime\":\"image/png\",\"copyright\":{\"license\":\"U\"},\"width\":1280,\"height\":720},\"tip\":\"\"},{\"text\":\"Dimples reduce wind resistance or aerodynamic drag. Does that make the ball go farther or faster?\",\"answer\":\"Farther\",\"image\":{\"path\":\"images/image-5eab355f7ca78.jpg\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":1280,\"height\":720},\"tip\":\"\"},{\"text\":\"Do dimples on a ball increase or decrease the lift?\",\"answer\":\"Increase\",\"image\":{\"path\":\"images/image-5eab3589be9e3.jpg\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":634,\"height\":508},\"tip\":\"\"}],\"progressText\":\"Card @card of @total\",\"next\":\"Next\",\"previous\":\"Previous\",\"checkAnswerText\":\"Check\",\"showSolutionsRequiresInput\":true,\"defaultAnswerText\":\"Your answer\",\"correctAnswerText\":\"Correct\",\"incorrectAnswerText\":\"Incorrect\",\"showSolutionText\":\"Correct answer\",\"results\":\"Results\",\"ofCorrect\":\"@score of @total correct\",\"showResults\":\"Show results\",\"answerShortText\":\"A:\",\"retry\":\"Retry\",\"caseSensitive\":false,\"cardAnnouncement\":\"Incorrect answer. Correct answer was @answer\",\"pageAnnouncement\":\"Page @current of @total\",\"description\":\"See if you can remember what you learned!\"}",
"slug": "physics-and-golf-balls",
"embed_type": "div",
"disable": 9,
"content_type": null,
"authors": null,
"source": null,
"year_from": null,
"year_to": null,
"license": "U",
"license_version": null,
"license_extras": null,
"author_comments": null,
"changes": null,
"default_language": null
},
"is_public": false,
"created_at": null,
"updated_at": null
},
{
"id": 6,
"playlist_id": 1,
"title": "Understanding Gear Effect | Equipment and Tech | 18Birdies",
"type": "h5p",
"content": "",
"shared": false,
"order": 4,
"thumb_url": null,
"subject_id": null,
"education_level_id": null,
"h5p_content": {
"id": 75,
"created_at": "2020-05-01T04:51:11.000000Z",
"updated_at": "2020-05-01T04:51:11.000000Z",
"user_id": 1,
"title": "Understanding Gear Effect | Equipment and Tech | 18Birdies",
"library_id": 40,
"parameters": "{\"interactiveVideo\":{\"video\":{\"startScreenOptions\":{\"title\":\"Interactive Video\",\"hideStartTitle\":false},\"textTracks\":{\"videoTrack\":[{\"label\":\"Subtitles\",\"kind\":\"subtitles\",\"srcLang\":\"en\"}]},\"files\":[{\"path\":\"https://www.youtube.com/watch?v=FdH0JQL5E-U&list=PLVIShUJLAj0rWw3Yr3VtFGH4IbIVMfQFo\",\"mime\":\"video/YouTube\",\"copyright\":{\"license\":\"U\"},\"aspectRatio\":\"16:9\"}]},\"assets\":{\"interactions\":[{\"x\":46.87499999999999,\"y\":44.44444444444444,\"width\":10,\"height\":10,\"duration\":{\"from\":52,\"to\":52},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"c9f0c83d-2ba2-4810-843a-1ee7bec2076f\",\"question\":\"<p>\\\"Torque\\\" is a property of golf shafts that describes how much the shaft is prone to twisting during the golf swing.</p>\\n\",\"answers\":[\"<p>True</p>\\n\",\"<p>False</p>\\n\"]},{\"subContentId\":\"81f2e02c-0f04-44a3-922c-4eac61a11acb\",\"question\":\"<p>... A shaft with a _____ torque rating means the shaft better resists twisting; a shaft with a ____ torque rating means the shaft is more prone to twisting (all other things being equal).</p>\\n\",\"answers\":[\"<p>lower, higher</p>\\n\",\"<p>higher, lower</p>\\n\",\"<p>sharper, duller</p>\\n\",\"<p>straigher, curved</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"eadebb1e-891e-4ff3-8676-943c2616a9e0\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Untitled Single Choice Set\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Untitled Single Choice Set\"}},\"pause\":true,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"\"},{\"x\":46.87499999999999,\"y\":44.44444444444444,\"width\":10,\"height\":10,\"duration\":{\"from\":24.314,\"to\":34.314},\"libraryTitle\":\"Statements\",\"action\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"7bce98af-5267-4ca6-a08c-0c8f2bef5afb\",\"summary\":[\"Gear effect is the term used to explain how and why hitting the ball off-center changes the ball flight.\\n\",\"<p>Gear effect is the term used to explain how and why it is imprtant to adjust the pressure on the clubhead.</p>\\n\",\"<p>Gear effect is the term used to explain how and why it is imprtant to ride your bike to the course.</p>\\n\"],\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"3b954191-ad43-452c-95c3-868047eb55be\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Untitled Summary\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"}},\"label\":\"\"},{\"x\":46.87499999999999,\"y\":44.44444444444444,\"width\":10,\"height\":10,\"duration\":{\"from\":145.688,\"to\":155.688},\"libraryTitle\":\"Multiple Choice\",\"action\":{\"library\":\"H5P.MultiChoice 1.14\",\"params\":{\"media\":{\"type\":{\"params\":{}},\"disableImageZooming\":false},\"answers\":[{\"correct\":true,\"tipsAndFeedback\":{\"tip\":\"\",\"chosenFeedback\":\"\",\"notChosenFeedback\":\"\"},\"text\":\"<div>This pushes the ball to the right, causing a fade slice curved flight.</div>\\n\"},{\"correct\":false,\"tipsAndFeedback\":{\"tip\":\"\",\"chosenFeedback\":\"\",\"notChosenFeedback\":\"\"},\"text\":\"<div>This pushes the ball to the left, causing a <strong>slice</strong> curved flight.</div>\\n\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"enableRetry\":true,\"enableSolutionsButton\":true,\"enableCheckButton\":true,\"type\":\"auto\",\"singlePoint\":false,\"randomAnswers\":true,\"showSolutionsRequiresInput\":true,\"confirmCheckDialog\":false,\"confirmRetryDialog\":false,\"autoCheck\":false,\"passPercentage\":100,\"showScorePoints\":true},\"UI\":{\"checkAnswerButton\":\"Check\",\"showSolutionButton\":\"Show solution\",\"tryAgainButton\":\"Retry\",\"tipsLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"tipAvailable\":\"Tip available\",\"feedbackAvailable\":\"Feedback available\",\"readFeedback\":\"Read feedback\",\"wrongAnswer\":\"Wrong answer\",\"correctAnswer\":\"Correct answer\",\"shouldCheck\":\"Should have been checked\",\"shouldNotCheck\":\"Should not have been checked\",\"noInput\":\"Please answer before viewing the solution\"},\"confirmCheck\":{\"header\":\"Finish ?\",\"body\":\"Are you sure you wish to finish ?\",\"cancelLabel\":\"Cancel\",\"confirmLabel\":\"Finish\"},\"confirmRetry\":{\"header\":\"Retry ?\",\"body\":\"Are you sure you wish to retry ?\",\"cancelLabel\":\"Cancel\",\"confirmLabel\":\"Confirm\"},\"question\":\"<p>When a ball is spinning in a clockwise direction, there is high pressure on the left hand side of the ball, and low pressure on the right.</p>\\n\"},\"subContentId\":\"df5e99b0-6513-4aa9-a760-e3d9e2bfefe9\",\"metadata\":{\"contentType\":\"Multiple Choice\",\"license\":\"U\",\"title\":\"Untitled Multiple Choice\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Untitled Multiple Choice\"}},\"pause\":true,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"\"}],\"bookmarks\":[],\"endscreens\":[{\"time\":358,\"label\":\"5:58 Submit screen\"}]},\"summary\":{\"task\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"64506cb8-ea40-4c72-8c98-ed0bb3c3b808\",\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"b8eb5a4d-5e2e-4b74-95f5-ca37d1a45186\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Untitled Summary\"}},\"displayAt\":3}},\"override\":{\"autoplay\":true,\"loop\":false,\"showBookmarksmenuOnLoad\":false,\"showRewind10\":false,\"preventSkipping\":false,\"deactivateSound\":false,\"startVideoAt\":37},\"l10n\":{\"interaction\":\"Interaction\",\"play\":\"Play\",\"pause\":\"Pause\",\"mute\":\"Mute\",\"unmute\":\"Unmute\",\"quality\":\"Video Quality\",\"captions\":\"Captions\",\"close\":\"Close\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit Fullscreen\",\"summary\":\"Open summary dialog\",\"bookmarks\":\"Bookmarks\",\"endscreen\":\"Submit screen\",\"defaultAdaptivitySeekLabel\":\"Continue\",\"continueWithVideo\":\"Continue with video\",\"playbackRate\":\"Playback Rate\",\"rewind10\":\"Rewind 10 Seconds\",\"navDisabled\":\"Navigation is disabled\",\"sndDisabled\":\"Sound is disabled\",\"requiresCompletionWarning\":\"You need to answer all the questions correctly before continuing.\",\"back\":\"Back\",\"hours\":\"Hours\",\"minutes\":\"Minutes\",\"seconds\":\"Seconds\",\"currentTime\":\"Current time:\",\"totalTime\":\"Total time:\",\"singleInteractionAnnouncement\":\"Interaction appeared:\",\"multipleInteractionsAnnouncement\":\"Multiple interactions appeared.\",\"videoPausedAnnouncement\":\"Video is paused\",\"content\":\"Content\",\"answered\":\"@answered answered\",\"endcardTitle\":\"@answered Question(s) answered\",\"endcardInformation\":\"You have answered @answered questions, click below to submit your answers.\",\"endcardInformationNoAnswers\":\"You have not answered any questions.\",\"endcardInformationMustHaveAnswer\":\"You have to answer at least one question before you can submit your answers.\",\"endcardSubmitButton\":\"Submit Answers\",\"endcardSubmitMessage\":\"Your answers have been submitted!\",\"endcardTableRowAnswered\":\"Answered questions\",\"endcardTableRowScore\":\"Score\",\"endcardAnsweredScore\":\"answered\",\"endCardTableRowSummaryWithScore\":\"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\"endCardTableRowSummaryWithoutScore\":\"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\"}}",
"filtered": "{\"interactiveVideo\":{\"video\":{\"startScreenOptions\":{\"title\":\"Interactive Video\",\"hideStartTitle\":false},\"textTracks\":{\"videoTrack\":[{\"label\":\"Subtitles\",\"kind\":\"subtitles\",\"srcLang\":\"en\"}]},\"files\":[{\"path\":\"https://www.youtube.com/watch?v=FdH0JQL5E-U&list=PLVIShUJLAj0rWw3Yr3VtFGH4IbIVMfQFo\",\"mime\":\"video/YouTube\",\"copyright\":{\"license\":\"U\"}}]},\"assets\":{\"interactions\":[{\"x\":46.87499999999999,\"y\":44.44444444444444,\"width\":10,\"height\":10,\"duration\":{\"from\":52,\"to\":52},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"c9f0c83d-2ba2-4810-843a-1ee7bec2076f\",\"question\":\"<p>\\\"Torque\\\" is a property of golf shafts that describes how much the shaft is prone to twisting during the golf swing.</p>\\n\",\"answers\":[\"<p>True</p>\\n\",\"<p>False</p>\\n\"]},{\"subContentId\":\"81f2e02c-0f04-44a3-922c-4eac61a11acb\",\"question\":\"<p>... A shaft with a _____ torque rating means the shaft better resists twisting; a shaft with a ____ torque rating means the shaft is more prone to twisting (all other things being equal).</p>\\n\",\"answers\":[\"<p>lower, higher</p>\\n\",\"<p>higher, lower</p>\\n\",\"<p>sharper, duller</p>\\n\",\"<p>straigher, curved</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"eadebb1e-891e-4ff3-8676-943c2616a9e0\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Untitled Single Choice Set\"}},\"pause\":true,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"\"},{\"x\":46.87499999999999,\"y\":44.44444444444444,\"width\":10,\"height\":10,\"duration\":{\"from\":24.314,\"to\":34.314},\"libraryTitle\":\"Statements\",\"action\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"7bce98af-5267-4ca6-a08c-0c8f2bef5afb\",\"summary\":[\"Gear effect is the term used to explain how and why hitting the ball off-center changes the ball flight.\\n\",\"<p>Gear effect is the term used to explain how and why it is imprtant to adjust the pressure on the clubhead.</p>\\n\",\"<p>Gear effect is the term used to explain how and why it is imprtant to ride your bike to the course.</p>\\n\"],\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"3b954191-ad43-452c-95c3-868047eb55be\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"}},\"label\":\"\"},{\"x\":46.87499999999999,\"y\":44.44444444444444,\"width\":10,\"height\":10,\"duration\":{\"from\":145.688,\"to\":155.688},\"libraryTitle\":\"Multiple Choice\",\"action\":{\"library\":\"H5P.MultiChoice 1.14\",\"params\":{\"media\":{\"disableImageZooming\":false},\"answers\":[{\"correct\":true,\"tipsAndFeedback\":{\"tip\":\"\",\"chosenFeedback\":\"\",\"notChosenFeedback\":\"\"},\"text\":\"<div>This pushes the ball to the right, causing a fade slice curved flight.</div>\\n\"},{\"correct\":false,\"tipsAndFeedback\":{\"tip\":\"\",\"chosenFeedback\":\"\",\"notChosenFeedback\":\"\"},\"text\":\"<div>This pushes the ball to the left, causing a <strong>slice</strong> curved flight.</div>\\n\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"enableRetry\":true,\"enableSolutionsButton\":true,\"enableCheckButton\":true,\"type\":\"auto\",\"singlePoint\":false,\"randomAnswers\":true,\"showSolutionsRequiresInput\":true,\"confirmCheckDialog\":false,\"confirmRetryDialog\":false,\"autoCheck\":false,\"passPercentage\":100,\"showScorePoints\":true},\"UI\":{\"checkAnswerButton\":\"Check\",\"showSolutionButton\":\"Show solution\",\"tryAgainButton\":\"Retry\",\"tipsLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"tipAvailable\":\"Tip available\",\"feedbackAvailable\":\"Feedback available\",\"readFeedback\":\"Read feedback\",\"wrongAnswer\":\"Wrong answer\",\"correctAnswer\":\"Correct answer\",\"shouldCheck\":\"Should have been checked\",\"shouldNotCheck\":\"Should not have been checked\",\"noInput\":\"Please answer before viewing the solution\"},\"confirmCheck\":{\"header\":\"Finish ?\",\"body\":\"Are you sure you wish to finish ?\",\"cancelLabel\":\"Cancel\",\"confirmLabel\":\"Finish\"},\"confirmRetry\":{\"header\":\"Retry ?\",\"body\":\"Are you sure you wish to retry ?\",\"cancelLabel\":\"Cancel\",\"confirmLabel\":\"Confirm\"},\"question\":\"<p>When a ball is spinning in a clockwise direction, there is high pressure on the left hand side of the ball, and low pressure on the right.</p>\\n\"},\"subContentId\":\"df5e99b0-6513-4aa9-a760-e3d9e2bfefe9\",\"metadata\":{\"contentType\":\"Multiple Choice\",\"license\":\"U\",\"title\":\"Untitled Multiple Choice\"}},\"pause\":true,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"\"}],\"endscreens\":[{\"time\":358,\"label\":\"5:58 Submit screen\"}]},\"summary\":{\"task\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"64506cb8-ea40-4c72-8c98-ed0bb3c3b808\",\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"b8eb5a4d-5e2e-4b74-95f5-ca37d1a45186\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\"}},\"displayAt\":3}},\"override\":{\"autoplay\":true,\"loop\":false,\"showBookmarksmenuOnLoad\":false,\"showRewind10\":false,\"preventSkipping\":false,\"deactivateSound\":false,\"startVideoAt\":37},\"l10n\":{\"interaction\":\"Interaction\",\"play\":\"Play\",\"pause\":\"Pause\",\"mute\":\"Mute\",\"unmute\":\"Unmute\",\"quality\":\"Video Quality\",\"captions\":\"Captions\",\"close\":\"Close\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit Fullscreen\",\"summary\":\"Open summary dialog\",\"bookmarks\":\"Bookmarks\",\"endscreen\":\"Submit screen\",\"defaultAdaptivitySeekLabel\":\"Continue\",\"continueWithVideo\":\"Continue with video\",\"playbackRate\":\"Playback Rate\",\"rewind10\":\"Rewind 10 Seconds\",\"navDisabled\":\"Navigation is disabled\",\"sndDisabled\":\"Sound is disabled\",\"requiresCompletionWarning\":\"You need to answer all the questions correctly before continuing.\",\"back\":\"Back\",\"hours\":\"Hours\",\"minutes\":\"Minutes\",\"seconds\":\"Seconds\",\"currentTime\":\"Current time:\",\"totalTime\":\"Total time:\",\"singleInteractionAnnouncement\":\"Interaction appeared:\",\"multipleInteractionsAnnouncement\":\"Multiple interactions appeared.\",\"videoPausedAnnouncement\":\"Video is paused\",\"content\":\"Content\",\"answered\":\"@answered answered\",\"endcardTitle\":\"@answered Question(s) answered\",\"endcardInformation\":\"You have answered @answered questions, click below to submit your answers.\",\"endcardInformationNoAnswers\":\"You have not answered any questions.\",\"endcardInformationMustHaveAnswer\":\"You have to answer at least one question before you can submit your answers.\",\"endcardSubmitButton\":\"Submit Answers\",\"endcardSubmitMessage\":\"Your answers have been submitted!\",\"endcardTableRowAnswered\":\"Answered questions\",\"endcardTableRowScore\":\"Score\",\"endcardAnsweredScore\":\"answered\",\"endCardTableRowSummaryWithScore\":\"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\"endCardTableRowSummaryWithoutScore\":\"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\"}}",
"slug": "understanding-gear-effect-equipment-and-tech-18birdies",
"embed_type": "div",
"disable": 9,
"content_type": null,
"authors": null,
"source": null,
"year_from": null,
"year_to": null,
"license": "U",
"license_version": null,
"license_extras": null,
"author_comments": null,
"changes": null,
"default_language": null
},
"is_public": false,
"created_at": null,
"updated_at": null
},
{
"id": 5,
"playlist_id": 1,
"title": "The Evolution of the Golf Ball",
"type": "h5p",
"content": "",
"shared": false,
"order": 5,
"thumb_url": null,
"subject_id": null,
"education_level_id": null,
"h5p_content": {
"id": 66,
"created_at": "2020-04-30T23:58:44.000000Z",
"updated_at": "2020-04-30T23:58:44.000000Z",
"user_id": 1,
"title": "The Evolution of the Golf Ball",
"library_id": 61,
"parameters": "{\"timeline\":{\"defaultZoomLevel\":\"0\",\"height\":600,\"asset\":{},\"date\":[{\"asset\":{\"thumbnail\":{\"path\":\"images/thumbnail-5eab648fb61c9.jpeg#tmp\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":234,\"height\":216}},\"startDate\":\"1400\",\"endDate\":\"2020\",\"headline\":\"Origins of Golf\",\"text\":\"<p>Golf is recorded in its first recognizable form in the Eastern Coast of Scotland.</p>\\n\"},{\"asset\":{\"thumbnail\":{\"path\":\"images/thumbnail-5eab64e26de00.jpg#tmp\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":475,\"height\":222}},\"startDate\":\"1600\",\"headline\":\"Wood Golf Balls\",\"text\":\"<p>The first known golf ball was made out of wood, most likely beech, boxroot and similar hardwoods. Wooden clubs were the golf club of choice, which in conjunction with the wood balls would have made your friendly game of golf a rather jarring experience.</p>\\n\"},{\"asset\":{\"thumbnail\":{\"path\":\"images/thumbnail-5eab652f19393.png#tmp\",\"mime\":\"image/png\",\"copyright\":{\"license\":\"U\"},\"width\":1128,\"height\":1096}},\"startDate\":\"1618\",\"headline\":\"Feathery Golf Balls\",\"text\":\"<p>The first \\\"real\\\" golf ball was known as a \\\"feathery\\\"golf ball. Basically, the feathery was a leather sack filled with boiled goose feathers, then stitched up and painted. Feathery golf balls were expensive to make easily damaged and only the privileged few could afford to use them. </p>\\n\\n<p>It was made of cow or horsehide which was stuffed with feathers; most often goose feather. The leather, in order to be easier to work with, was soaked in water. The feathers that were forced into the ball by using a specially designed crutch-handled filling rod were soaked as well. </p>\\n\\n<p>After the ball was carefully hand sewn together, it was left to dry. While the leather shrank, the feathers expanded, which made the ball very hard and compact. </p>\\n\\n<p>Interestingly, the featherie also had excellent flight characteristics as it could reach a distance of up to 175 yards; although the longest recorded distance is more than 361 yards.<br>\\n </p>\\n\"},{\"asset\":{\"thumbnail\":{\"path\":\"images/thumbnail-5eab658fa6bde.jpg#tmp\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":1350,\"height\":759},\"media\":\"https://images.app.goo.gl/MFHFL1dtDiyR5nGq7\"},\"startDate\":\"1848\",\"headline\":\"Cost of Golf Balls\",\"text\":\"<p>In the mid-19th century, most people could only dream of playing golf. There were at the time fewer than 20 golf clubs around the world, with just three being outside Scotland. But that was not the only thing that prevented most people from playing golf. The high cost of golf essentials, especially of golf balls, made the game pretty much inaccessible to ordinary people.31 But that was soon about to change...<br>\\n </p>\\n\"},{\"asset\":{\"thumbnail\":{\"path\":\"images/thumbnail-5eab65cbe1adb.png#tmp\",\"mime\":\"image/png\",\"copyright\":{\"license\":\"U\"},\"width\":944,\"height\":890}},\"startDate\":\"1848\",\"endDate\":\"1890\",\"headline\":\"Gutty Golf Balls\",\"text\":\"<p>It wasn't until 1848 that Rev. Dr. Robert Adams began creating golf balls out of Gutta Percha \\\"Gutty\\\". The Gutty golf ball was created from the dried sap of the Sapodilla tree. It had a rubber-like feel and was formed into ball shapes by heating it up and shaping it while hot. </p>\\n\\n<p>The arrival of the gutta percha ball or \\\"gutty\\\", as it was called, revolutionized the game of golf and allowed its spread to the masses due to its affordability, playability and durability.</p>\\n\"},{\"asset\":{},\"startDate\":\"1899\",\"headline\":\"Hand Hammered Gutta Ball\",\"text\":\"<p>American businessman and inventor Coburn Haskell (1868-1922) got a (joint) patent from the United States Patent Office for the rubber-wound ball47 which would soon lead to another revolution in golf. Widely regarded as the first modern golf ball, Haskell\\u2019s ball was made of a solid rubber-wound core that was covered by guttapercha.</p>\\n\"}],\"language\":\"en\",\"headline\":\"The Evolution of the Golf Ball\",\"text\":\"<div>A golf ball is central to the game of golf. In fact, golf is all about the ball. Well, getting it into the hole in the ground!</div>\\n\",\"backgroundImage\":{\"path\":\"images/backgroundImage-5eab633e2e935.jpg#tmp\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":2139,\"height\":1179}}}",
"filtered": "{\"timeline\":{\"defaultZoomLevel\":\"0\",\"height\":600,\"asset\":{},\"date\":[{\"asset\":{\"thumbnail\":{\"path\":\"images/thumbnail-5eab648fb61c9.jpeg\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":234,\"height\":216}},\"startDate\":\"1400\",\"endDate\":\"2020\",\"headline\":\"Origins of Golf\",\"text\":\"<p>Golf is recorded in its first recognizable form in the Eastern Coast of Scotland.</p>\\n\"},{\"asset\":{\"thumbnail\":{\"path\":\"images/thumbnail-5eab64e26de00.jpg\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":475,\"height\":222}},\"startDate\":\"1600\",\"headline\":\"Wood Golf Balls\",\"text\":\"<p>The first known golf ball was made out of wood, most likely beech, boxroot and similar hardwoods. Wooden clubs were the golf club of choice, which in conjunction with the wood balls would have made your friendly game of golf a rather jarring experience.</p>\\n\"},{\"asset\":{\"thumbnail\":{\"path\":\"images/thumbnail-5eab652f19393.png\",\"mime\":\"image/png\",\"copyright\":{\"license\":\"U\"},\"width\":1128,\"height\":1096}},\"startDate\":\"1618\",\"headline\":\"Feathery Golf Balls\",\"text\":\"<p>The first \\\"real\\\" golf ball was known as a \\\"feathery\\\"golf ball. Basically, the feathery was a leather sack filled with boiled goose feathers, then stitched up and painted. Feathery golf balls were expensive to make easily damaged and only the privileged few could afford to use them. </p>\\n\\n<p>It was made of cow or horsehide which was stuffed with feathers; most often goose feather. The leather, in order to be easier to work with, was soaked in water. The feathers that were forced into the ball by using a specially designed crutch-handled filling rod were soaked as well. </p>\\n\\n<p>After the ball was carefully hand sewn together, it was left to dry. While the leather shrank, the feathers expanded, which made the ball very hard and compact. </p>\\n\\n<p>Interestingly, the featherie also had excellent flight characteristics as it could reach a distance of up to 175 yards; although the longest recorded distance is more than 361 yards.<br>\\n </p>\\n\"},{\"asset\":{\"thumbnail\":{\"path\":\"images/thumbnail-5eab658fa6bde.jpg\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":1350,\"height\":759},\"media\":\"https://images.app.goo.gl/MFHFL1dtDiyR5nGq7\"},\"startDate\":\"1848\",\"headline\":\"Cost of Golf Balls\",\"text\":\"<p>In the mid-19th century, most people could only dream of playing golf. There were at the time fewer than 20 golf clubs around the world, with just three being outside Scotland. But that was not the only thing that prevented most people from playing golf. The high cost of golf essentials, especially of golf balls, made the game pretty much inaccessible to ordinary people.31 But that was soon about to change...<br>\\n </p>\\n\"},{\"asset\":{\"thumbnail\":{\"path\":\"images/thumbnail-5eab65cbe1adb.png\",\"mime\":\"image/png\",\"copyright\":{\"license\":\"U\"},\"width\":944,\"height\":890}},\"startDate\":\"1848\",\"endDate\":\"1890\",\"headline\":\"Gutty Golf Balls\",\"text\":\"<p>It wasn't until 1848 that Rev. Dr. Robert Adams began creating golf balls out of Gutta Percha \\\"Gutty\\\". The Gutty golf ball was created from the dried sap of the Sapodilla tree. It had a rubber-like feel and was formed into ball shapes by heating it up and shaping it while hot. </p>\\n\\n<p>The arrival of the gutta percha ball or \\\"gutty\\\", as it was called, revolutionized the game of golf and allowed its spread to the masses due to its affordability, playability and durability.</p>\\n\"},{\"asset\":{},\"startDate\":\"1899\",\"headline\":\"Hand Hammered Gutta Ball\",\"text\":\"<p>American businessman and inventor Coburn Haskell (1868-1922) got a (joint) patent from the United States Patent Office for the rubber-wound ball47 which would soon lead to another revolution in golf. Widely regarded as the first modern golf ball, Haskell\\u2019s ball was made of a solid rubber-wound core that was covered by guttapercha.</p>\\n\"}],\"language\":\"en\",\"headline\":\"The Evolution of the Golf Ball\",\"text\":\"<div>A golf ball is central to the game of golf. In fact, golf is all about the ball. Well, getting it into the hole in the ground!</div>\\n\",\"backgroundImage\":{\"path\":\"images/backgroundImage-5eab633e2e935.jpg\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":2139,\"height\":1179}}}",
"slug": "the-evolution-of-the-golf-ball",
"embed_type": "div",
"disable": 9,
"content_type": null,
"authors": null,
"source": null,
"year_from": null,
"year_to": null,
"license": "U",
"license_version": null,
"license_extras": null,
"author_comments": null,
"changes": null,
"default_language": null
},
"is_public": false,
"created_at": null,
"updated_at": null
},
{
"id": 7,
"playlist_id": 1,
"title": "Famous Golf Holes",
"type": "h5p",
"content": "",
"shared": false,
"order": 6,
"thumb_url": null,
"subject_id": null,
"education_level_id": null,
"h5p_content": {
"id": 76,
"created_at": "2020-05-01T05:20:54.000000Z",
"updated_at": "2020-05-01T05:20:54.000000Z",
"user_id": 1,
"title": "Famous Golf Holes",
"library_id": 60,
"parameters": "{\"cards\":[{\"answer\":\"7th Hole at Pebble Beach\",\"image\":{\"path\":\"images/image-5eabad2e71b62.jpg#tmp\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":991,\"height\":500},\"tip\":\"<p>Mickey Mantle<br>\\nAT&T Pro Am</p>\\n\"},{\"answer\":\"12th hole at Augusta National\",\"image\":{\"path\":\"images/image-5eabae675c197.jpg#tmp\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":847,\"height\":467},\"tip\":\"\"},{\"answer\":\"7th hole at TPC Sawgrass\",\"image\":{\"path\":\"images/image-5eabaec199254.jpg#tmp\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":1024,\"height\":570},\"tip\":\"\"},{\"answer\":\"The Old Course at St Andrews, #18\",\"image\":{\"path\":\"images/image-5eabafb2400f7.jpg#tmp\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":475,\"height\":367},\"tip\":\"\"},{\"answer\":\"Pine Valley Golf Club, #18\",\"image\":{\"path\":\"images/image-5eabb0ced23c3.jpg#tmp\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":960,\"height\":640},\"tip\":\"\"},{\"answer\":\"Celebrity Course - Indian Wells Golf Resort, #14\",\"image\":{\"path\":\"images/image-5eabb17c9a715.jpg#tmp\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":780,\"height\":490},\"tip\":\"\"}],\"progressText\":\"Card @card of @total\",\"next\":\"Next\",\"previous\":\"Previous\",\"checkAnswerText\":\"Check\",\"showSolutionsRequiresInput\":true,\"defaultAnswerText\":\"Your answer\",\"correctAnswerText\":\"Correct\",\"incorrectAnswerText\":\"Incorrect\",\"showSolutionText\":\"Correct answer\",\"results\":\"Results\",\"ofCorrect\":\"@score of @total correct\",\"showResults\":\"Show results\",\"answerShortText\":\"A:\",\"retry\":\"Retry\",\"caseSensitive\":false,\"cardAnnouncement\":\"Incorrect answer. Correct answer was @answer\",\"pageAnnouncement\":\"Page @current of @total\",\"description\":\"Match the Hole with the Course\"}",
"filtered": "{\"cards\":[{\"answer\":\"7th Hole at Pebble Beach\",\"image\":{\"path\":\"images/image-5eabad2e71b62.jpg\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":991,\"height\":500},\"tip\":\"<p>Mickey Mantle<br>\\nAT&T Pro Am</p>\\n\"},{\"answer\":\"12th hole at Augusta National\",\"image\":{\"path\":\"images/image-5eabae675c197.jpg\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":847,\"height\":467},\"tip\":\"\"},{\"answer\":\"7th hole at TPC Sawgrass\",\"image\":{\"path\":\"images/image-5eabaec199254.jpg\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":1024,\"height\":570},\"tip\":\"\"},{\"answer\":\"The Old Course at St Andrews, #18\",\"image\":{\"path\":\"images/image-5eabafb2400f7.jpg\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":475,\"height\":367},\"tip\":\"\"},{\"answer\":\"Pine Valley Golf Club, #18\",\"image\":{\"path\":\"images/image-5eabb0ced23c3.jpg\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":960,\"height\":640},\"tip\":\"\"},{\"answer\":\"Celebrity Course - Indian Wells Golf Resort, #14\",\"image\":{\"path\":\"images/image-5eabb17c9a715.jpg\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":780,\"height\":490},\"tip\":\"\"}],\"progressText\":\"Card @card of @total\",\"next\":\"Next\",\"previous\":\"Previous\",\"checkAnswerText\":\"Check\",\"showSolutionsRequiresInput\":true,\"defaultAnswerText\":\"Your answer\",\"correctAnswerText\":\"Correct\",\"incorrectAnswerText\":\"Incorrect\",\"showSolutionText\":\"Correct answer\",\"results\":\"Results\",\"ofCorrect\":\"@score of @total correct\",\"showResults\":\"Show results\",\"answerShortText\":\"A:\",\"retry\":\"Retry\",\"caseSensitive\":false,\"cardAnnouncement\":\"Incorrect answer. Correct answer was @answer\",\"pageAnnouncement\":\"Page @current of @total\",\"description\":\"Match the Hole with the Course\"}",
"slug": "famous-golf-holes",
"embed_type": "div",
"disable": 9,
"content_type": null,
"authors": null,
"source": null,
"year_from": null,
"year_to": null,
"license": "U",
"license_version": null,
"license_extras": null,
"author_comments": null,
"changes": null,
"default_language": null
},
"is_public": false,
"created_at": null,
"updated_at": null
}
],
"created_at": null,
"updated_at": null
}
}
Received response:
Request failed with error:
Get Brightcove H5P Resource Settings
Get H5P Resource Settings For Brightcove
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/brightcove/1/h5p-resource-settings" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/brightcove/1/h5p-resource-settings"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/brightcove/1/h5p-resource-settings',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (404):
{
"h5p": null
}
Example response (200):
{
"h5p": {
"id": 59,
"title": "Science of Golf: Why Balls Have Dimples",
"params": "{\"interactiveVideo\":{\"video\":{\"startScreenOptions\":{\"title\":\"Interactive Video\",\"hideStartTitle\":false},\"textTracks\":{\"videoTrack\":[{\"label\":\"Subtitles\",\"kind\":\"subtitles\",\"srcLang\":\"en\"}]},\"files\":[{\"path\":\"https://youtu.be/fcjaxC-e8oY\",\"mime\":\"video/YouTube\",\"copyright\":{\"license\":\"U\"},\"aspectRatio\":\"16:9\"}]},\"assets\":{\"interactions\":[{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":58.33,\"to\":68.33},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"133bca3d-cfe9-442d-a887-8bf1e2ce682a\",\"question\":\"<p>Why do golf balls have dimples?</p>\\n\",\"answers\":[\"<p>They reduce wind resistance.</p>\\n\",\"<p>They make the ball more visually interesting.</p>\\n\",\"<p>They grip the putting green better than a smooth ball.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"ac029b43-7225-49ed-a2d7-8656037748e0\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Why do golf balls have dimples?\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Why do golf balls have dimples?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Why do golf balls have dimples?</p>\\n\"},{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":132.969,\"to\":142.969},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"308503f3-8d41-4f4f-b016-587bcce3dfac\",\"question\":\"<p>A smooth ball will have a detached airflow, which causes what?</p>\\n\",\"answers\":[\"<p>A low pressure zone, which is what causes drag.</p>\\n\",\"<p>The ball has no spin.</p>\\n\",\"<p>The ball travels higher, but for a shorter distance.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"f70c849d-9542-4f30-9116-8b60b7da708d\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Smooth Ball?\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Smooth Ball?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Smooth Ball</p>\\n\"}],\"bookmarks\":[],\"endscreens\":[{\"time\":295,\"label\":\"4:55 Submit screen\"}]},\"summary\":{\"task\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"8e2cf84f-4557-4f79-a03e-526838498a7d\",\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"8d5527ef-3601-4ad9-9e63-2782c9775173\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Untitled Summary\"}},\"displayAt\":3}},\"override\":{\"autoplay\":false,\"loop\":false,\"showBookmarksmenuOnLoad\":false,\"showRewind10\":false,\"preventSkipping\":false,\"deactivateSound\":false},\"l10n\":{\"interaction\":\"Interaction\",\"play\":\"Play\",\"pause\":\"Pause\",\"mute\":\"Mute\",\"unmute\":\"Unmute\",\"quality\":\"Video Quality\",\"captions\":\"Captions\",\"close\":\"Close\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit Fullscreen\",\"summary\":\"Open summary dialog\",\"bookmarks\":\"Bookmarks\",\"endscreen\":\"Submit screen\",\"defaultAdaptivitySeekLabel\":\"Continue\",\"continueWithVideo\":\"Continue with video\",\"playbackRate\":\"Playback Rate\",\"rewind10\":\"Rewind 10 Seconds\",\"navDisabled\":\"Navigation is disabled\",\"sndDisabled\":\"Sound is disabled\",\"requiresCompletionWarning\":\"You need to answer all the questions correctly before continuing.\",\"back\":\"Back\",\"hours\":\"Hours\",\"minutes\":\"Minutes\",\"seconds\":\"Seconds\",\"currentTime\":\"Current time:\",\"totalTime\":\"Total time:\",\"singleInteractionAnnouncement\":\"Interaction appeared:\",\"multipleInteractionsAnnouncement\":\"Multiple interactions appeared.\",\"videoPausedAnnouncement\":\"Video is paused\",\"content\":\"Content\",\"answered\":\"@answered answered\",\"endcardTitle\":\"@answered Question(s) answered\",\"endcardInformation\":\"You have answered @answered questions, click below to submit your answers.\",\"endcardInformationNoAnswers\":\"You have not answered any questions.\",\"endcardInformationMustHaveAnswer\":\"You have to answer at least one question before you can submit your answers.\",\"endcardSubmitButton\":\"Submit Answers\",\"endcardSubmitMessage\":\"Your answers have been submitted!\",\"endcardTableRowAnswered\":\"Answered questions\",\"endcardTableRowScore\":\"Score\",\"endcardAnsweredScore\":\"answered\",\"endCardTableRowSummaryWithScore\":\"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\"endCardTableRowSummaryWithoutScore\":\"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\"}}",
"filtered": "{\"interactiveVideo\":{\"video\":{\"startScreenOptions\":{\"title\":\"Interactive Video\",\"hideStartTitle\":false},\"textTracks\":{\"videoTrack\":[{\"label\":\"Subtitles\",\"kind\":\"subtitles\",\"srcLang\":\"en\"}]},\"files\":[{\"path\":\"https://youtu.be/fcjaxC-e8oY\",\"mime\":\"video/YouTube\",\"copyright\":{\"license\":\"U\"}}]},\"assets\":{\"interactions\":[{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":58.33,\"to\":68.33},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"133bca3d-cfe9-442d-a887-8bf1e2ce682a\",\"question\":\"<p>Why do golf balls have dimples?</p>\\n\",\"answers\":[\"<p>They reduce wind resistance.</p>\\n\",\"<p>They make the ball more visually interesting.</p>\\n\",\"<p>They grip the putting green better than a smooth ball.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"ac029b43-7225-49ed-a2d7-8656037748e0\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Why do golf balls have dimples?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Why do golf balls have dimples?</p>\\n\"},{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":132.969,\"to\":142.969},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"308503f3-8d41-4f4f-b016-587bcce3dfac\",\"question\":\"<p>A smooth ball will have a detached airflow, which causes what?</p>\\n\",\"answers\":[\"<p>A low pressure zone, which is what causes drag.</p>\\n\",\"<p>The ball has no spin.</p>\\n\",\"<p>The ball travels higher, but for a shorter distance.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"f70c849d-9542-4f30-9116-8b60b7da708d\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Smooth Ball?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Smooth Ball</p>\\n\"}],\"endscreens\":[{\"time\":295,\"label\":\"4:55 Submit screen\"}]},\"summary\":{\"task\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"8e2cf84f-4557-4f79-a03e-526838498a7d\",\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"8d5527ef-3601-4ad9-9e63-2782c9775173\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\"}},\"displayAt\":3}},\"override\":{\"autoplay\":false,\"loop\":false,\"showBookmarksmenuOnLoad\":false,\"showRewind10\":false,\"preventSkipping\":false,\"deactivateSound\":false},\"l10n\":{\"interaction\":\"Interaction\",\"play\":\"Play\",\"pause\":\"Pause\",\"mute\":\"Mute\",\"unmute\":\"Unmute\",\"quality\":\"Video Quality\",\"captions\":\"Captions\",\"close\":\"Close\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit Fullscreen\",\"summary\":\"Open summary dialog\",\"bookmarks\":\"Bookmarks\",\"endscreen\":\"Submit screen\",\"defaultAdaptivitySeekLabel\":\"Continue\",\"continueWithVideo\":\"Continue with video\",\"playbackRate\":\"Playback Rate\",\"rewind10\":\"Rewind 10 Seconds\",\"navDisabled\":\"Navigation is disabled\",\"sndDisabled\":\"Sound is disabled\",\"requiresCompletionWarning\":\"You need to answer all the questions correctly before continuing.\",\"back\":\"Back\",\"hours\":\"Hours\",\"minutes\":\"Minutes\",\"seconds\":\"Seconds\",\"currentTime\":\"Current time:\",\"totalTime\":\"Total time:\",\"singleInteractionAnnouncement\":\"Interaction appeared:\",\"multipleInteractionsAnnouncement\":\"Multiple interactions appeared.\",\"videoPausedAnnouncement\":\"Video is paused\",\"content\":\"Content\",\"answered\":\"@answered answered\",\"endcardTitle\":\"@answered Question(s) answered\",\"endcardInformation\":\"You have answered @answered questions, click below to submit your answers.\",\"endcardInformationNoAnswers\":\"You have not answered any questions.\",\"endcardInformationMustHaveAnswer\":\"You have to answer at least one question before you can submit your answers.\",\"endcardSubmitButton\":\"Submit Answers\",\"endcardSubmitMessage\":\"Your answers have been submitted!\",\"endcardTableRowAnswered\":\"Answered questions\",\"endcardTableRowScore\":\"Score\",\"endcardAnsweredScore\":\"answered\",\"endCardTableRowSummaryWithScore\":\"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\"endCardTableRowSummaryWithoutScore\":\"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\"}}",
"slug": "science-of-golf-why-balls-have-dimples",
"user_id": 1,
"embedType": "div",
"disable": 9,
"libraryMajorVersion": 1,
"libraryMinorVersion": 21,
"authors": null,
"source": null,
"yearFrom": null,
"yearTo": null,
"licenseVersion": null,
"licenseExtras": null,
"authorComments": null,
"changes": null,
"defaultLanguage": null,
"metadata": {
"title": "Science of Golf: Why Balls Have Dimples",
"license": "U"
},
"library": {
"id": 40,
"name": "H5P.InteractiveVideo",
"majorVersion": 1,
"minorVersion": 21,
"embedTypes": "iframe",
"fullscreen": 1
},
"language": "en",
"tags": ""
},
"activity": {
"id": 1,
"playlist_id": 1,
"title": "Science of Golf: Why Balls Have Dimples",
"type": "h5p",
"content": "",
"shared": false,
"order": 2,
"thumb_url": null,
"subject_id": null,
"education_level_id": null,
"h5p_content": {
"id": 59,
"created_at": "2020-04-30T20:24:58.000000Z",
"updated_at": "2020-04-30T20:24:58.000000Z",
"user_id": 1,
"title": "Science of Golf: Why Balls Have Dimples",
"library_id": 40,
"parameters": "{\"interactiveVideo\":{\"video\":{\"startScreenOptions\":{\"title\":\"Interactive Video\",\"hideStartTitle\":false},\"textTracks\":{\"videoTrack\":[{\"label\":\"Subtitles\",\"kind\":\"subtitles\",\"srcLang\":\"en\"}]},\"files\":[{\"path\":\"https://youtu.be/fcjaxC-e8oY\",\"mime\":\"video/YouTube\",\"copyright\":{\"license\":\"U\"},\"aspectRatio\":\"16:9\"}]},\"assets\":{\"interactions\":[{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":58.33,\"to\":68.33},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"133bca3d-cfe9-442d-a887-8bf1e2ce682a\",\"question\":\"<p>Why do golf balls have dimples?</p>\\n\",\"answers\":[\"<p>They reduce wind resistance.</p>\\n\",\"<p>They make the ball more visually interesting.</p>\\n\",\"<p>They grip the putting green better than a smooth ball.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"ac029b43-7225-49ed-a2d7-8656037748e0\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Why do golf balls have dimples?\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Why do golf balls have dimples?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Why do golf balls have dimples?</p>\\n\"},{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":132.969,\"to\":142.969},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"308503f3-8d41-4f4f-b016-587bcce3dfac\",\"question\":\"<p>A smooth ball will have a detached airflow, which causes what?</p>\\n\",\"answers\":[\"<p>A low pressure zone, which is what causes drag.</p>\\n\",\"<p>The ball has no spin.</p>\\n\",\"<p>The ball travels higher, but for a shorter distance.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"f70c849d-9542-4f30-9116-8b60b7da708d\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Smooth Ball?\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Smooth Ball?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Smooth Ball</p>\\n\"}],\"bookmarks\":[],\"endscreens\":[{\"time\":295,\"label\":\"4:55 Submit screen\"}]},\"summary\":{\"task\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"8e2cf84f-4557-4f79-a03e-526838498a7d\",\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"8d5527ef-3601-4ad9-9e63-2782c9775173\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Untitled Summary\"}},\"displayAt\":3}},\"override\":{\"autoplay\":false,\"loop\":false,\"showBookmarksmenuOnLoad\":false,\"showRewind10\":false,\"preventSkipping\":false,\"deactivateSound\":false},\"l10n\":{\"interaction\":\"Interaction\",\"play\":\"Play\",\"pause\":\"Pause\",\"mute\":\"Mute\",\"unmute\":\"Unmute\",\"quality\":\"Video Quality\",\"captions\":\"Captions\",\"close\":\"Close\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit Fullscreen\",\"summary\":\"Open summary dialog\",\"bookmarks\":\"Bookmarks\",\"endscreen\":\"Submit screen\",\"defaultAdaptivitySeekLabel\":\"Continue\",\"continueWithVideo\":\"Continue with video\",\"playbackRate\":\"Playback Rate\",\"rewind10\":\"Rewind 10 Seconds\",\"navDisabled\":\"Navigation is disabled\",\"sndDisabled\":\"Sound is disabled\",\"requiresCompletionWarning\":\"You need to answer all the questions correctly before continuing.\",\"back\":\"Back\",\"hours\":\"Hours\",\"minutes\":\"Minutes\",\"seconds\":\"Seconds\",\"currentTime\":\"Current time:\",\"totalTime\":\"Total time:\",\"singleInteractionAnnouncement\":\"Interaction appeared:\",\"multipleInteractionsAnnouncement\":\"Multiple interactions appeared.\",\"videoPausedAnnouncement\":\"Video is paused\",\"content\":\"Content\",\"answered\":\"@answered answered\",\"endcardTitle\":\"@answered Question(s) answered\",\"endcardInformation\":\"You have answered @answered questions, click below to submit your answers.\",\"endcardInformationNoAnswers\":\"You have not answered any questions.\",\"endcardInformationMustHaveAnswer\":\"You have to answer at least one question before you can submit your answers.\",\"endcardSubmitButton\":\"Submit Answers\",\"endcardSubmitMessage\":\"Your answers have been submitted!\",\"endcardTableRowAnswered\":\"Answered questions\",\"endcardTableRowScore\":\"Score\",\"endcardAnsweredScore\":\"answered\",\"endCardTableRowSummaryWithScore\":\"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\"endCardTableRowSummaryWithoutScore\":\"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\"}}",
"filtered": "{\"interactiveVideo\":{\"video\":{\"startScreenOptions\":{\"title\":\"Interactive Video\",\"hideStartTitle\":false},\"textTracks\":{\"videoTrack\":[{\"label\":\"Subtitles\",\"kind\":\"subtitles\",\"srcLang\":\"en\"}]},\"files\":[{\"path\":\"https://youtu.be/fcjaxC-e8oY\",\"mime\":\"video/YouTube\",\"copyright\":{\"license\":\"U\"}}]},\"assets\":{\"interactions\":[{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":58.33,\"to\":68.33},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"133bca3d-cfe9-442d-a887-8bf1e2ce682a\",\"question\":\"<p>Why do golf balls have dimples?</p>\\n\",\"answers\":[\"<p>They reduce wind resistance.</p>\\n\",\"<p>They make the ball more visually interesting.</p>\\n\",\"<p>They grip the putting green better than a smooth ball.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"ac029b43-7225-49ed-a2d7-8656037748e0\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Why do golf balls have dimples?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Why do golf balls have dimples?</p>\\n\"},{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":132.969,\"to\":142.969},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"308503f3-8d41-4f4f-b016-587bcce3dfac\",\"question\":\"<p>A smooth ball will have a detached airflow, which causes what?</p>\\n\",\"answers\":[\"<p>A low pressure zone, which is what causes drag.</p>\\n\",\"<p>The ball has no spin.</p>\\n\",\"<p>The ball travels higher, but for a shorter distance.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"f70c849d-9542-4f30-9116-8b60b7da708d\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Smooth Ball?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Smooth Ball</p>\\n\"}],\"endscreens\":[{\"time\":295,\"label\":\"4:55 Submit screen\"}]},\"summary\":{\"task\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"8e2cf84f-4557-4f79-a03e-526838498a7d\",\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"8d5527ef-3601-4ad9-9e63-2782c9775173\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\"}},\"displayAt\":3}},\"override\":{\"autoplay\":false,\"loop\":false,\"showBookmarksmenuOnLoad\":false,\"showRewind10\":false,\"preventSkipping\":false,\"deactivateSound\":false},\"l10n\":{\"interaction\":\"Interaction\",\"play\":\"Play\",\"pause\":\"Pause\",\"mute\":\"Mute\",\"unmute\":\"Unmute\",\"quality\":\"Video Quality\",\"captions\":\"Captions\",\"close\":\"Close\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit Fullscreen\",\"summary\":\"Open summary dialog\",\"bookmarks\":\"Bookmarks\",\"endscreen\":\"Submit screen\",\"defaultAdaptivitySeekLabel\":\"Continue\",\"continueWithVideo\":\"Continue with video\",\"playbackRate\":\"Playback Rate\",\"rewind10\":\"Rewind 10 Seconds\",\"navDisabled\":\"Navigation is disabled\",\"sndDisabled\":\"Sound is disabled\",\"requiresCompletionWarning\":\"You need to answer all the questions correctly before continuing.\",\"back\":\"Back\",\"hours\":\"Hours\",\"minutes\":\"Minutes\",\"seconds\":\"Seconds\",\"currentTime\":\"Current time:\",\"totalTime\":\"Total time:\",\"singleInteractionAnnouncement\":\"Interaction appeared:\",\"multipleInteractionsAnnouncement\":\"Multiple interactions appeared.\",\"videoPausedAnnouncement\":\"Video is paused\",\"content\":\"Content\",\"answered\":\"@answered answered\",\"endcardTitle\":\"@answered Question(s) answered\",\"endcardInformation\":\"You have answered @answered questions, click below to submit your answers.\",\"endcardInformationNoAnswers\":\"You have not answered any questions.\",\"endcardInformationMustHaveAnswer\":\"You have to answer at least one question before you can submit your answers.\",\"endcardSubmitButton\":\"Submit Answers\",\"endcardSubmitMessage\":\"Your answers have been submitted!\",\"endcardTableRowAnswered\":\"Answered questions\",\"endcardTableRowScore\":\"Score\",\"endcardAnsweredScore\":\"answered\",\"endCardTableRowSummaryWithScore\":\"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\"endCardTableRowSummaryWithoutScore\":\"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\"}}",
"slug": "science-of-golf-why-balls-have-dimples",
"embed_type": "div",
"disable": 9,
"content_type": null,
"authors": null,
"source": null,
"year_from": null,
"year_to": null,
"license": "U",
"license_version": null,
"license_extras": null,
"author_comments": null,
"changes": null,
"default_language": null
},
"is_public": false,
"created_at": null,
"updated_at": null
},
"playlist": {
"id": 1,
"title": "The Engineering & Design Behind Golf Balls",
"order": 0,
"is_public": true,
"project_id": 1,
"project": {
"id": 1,
"name": "The Science of Golf",
"description": "Uncover the science, technology, engineering, and mathematics behind the game of golf.",
"thumb_url": "/storage/projects/nN5y8v8zh2ghxrKuHCv5wvJOREFw0Nr27s2DPxWq.png",
"shared": false,
"starter_project": false,
"users": [
{
"id": 1,
"email": "john.doe@currikistudio.org",
"first_name": "John",
"last_name": "Doe",
"role": "owner"
}
],
"is_public": true,
"created_at": "2020-04-30T20:03:12.000000Z",
"updated_at": "2020-07-11T12:51:07.000000Z"
},
"activities": [
{
"id": 4,
"playlist_id": 1,
"title": "Labeling Golf Ball - Principles of Physics",
"type": "h5p",
"content": "",
"shared": false,
"order": 0,
"thumb_url": null,
"subject_id": null,
"education_level_id": null,
"h5p_content": {
"id": 65,
"created_at": "2020-04-30T23:40:49.000000Z",
"updated_at": "2020-04-30T23:40:49.000000Z",
"user_id": 1,
"title": "Labeling Golf Ball - Principles of Physics",
"library_id": 19,
"parameters": "{\"scoreShow\":\"Check\",\"tryAgain\":\"Retry\",\"scoreExplanation\":\"Correct answers give +1 point. Incorrect answers give -1 point. The lowest possible score is 0.\",\"question\":{\"settings\":{\"size\":{\"width\":620,\"height\":310},\"background\":{\"path\":\"images/background-5eab614083be2.png#tmp\",\"mime\":\"image/png\",\"copyright\":{\"license\":\"U\"},\"width\":620,\"height\":310}},\"task\":{\"elements\":[{\"x\":0,\"y\":47.96909692035003,\"width\":7.812090416666667,\"height\":1.3537570833333332,\"dropZones\":[\"0\",\"1\",\"2\"],\"type\":{\"library\":\"H5P.AdvancedText 1.1\",\"params\":{\"text\":\"<p>Lift</p>\\n\"},\"subContentId\":\"be1d9b11-91ff-4e59-a7c6-9966e1bf8cb2\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Lift\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Lift\"}},\"backgroundOpacity\":100,\"multiple\":false},{\"x\":-4.63163666049382e-8,\"y\":58.810763796296285,\"width\":7.812090416666667,\"height\":1.3537570833333332,\"dropZones\":[\"0\",\"1\",\"2\"],\"type\":{\"library\":\"H5P.AdvancedText 1.1\",\"params\":{\"text\":\"<p>Drag</p>\\n\"},\"subContentId\":\"05a00202-b5dd-44a9-acf1-0cce77278b33\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Drag\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Drag\"}},\"backgroundOpacity\":100,\"multiple\":false},{\"x\":-4.63163666049382e-8,\"y\":36.89236101851851,\"width\":7.812090416666667,\"height\":1.281997824074074,\"dropZones\":[\"0\",\"1\",\"2\"],\"type\":{\"library\":\"H5P.AdvancedText 1.1\",\"params\":{\"text\":\"<p>Spin</p>\\n\"},\"subContentId\":\"140a5423-873b-46d4-8f4f-9b236cefce20\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Spin\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Spin\"}},\"backgroundOpacity\":100,\"multiple\":false}],\"dropZones\":[{\"x\":72.35516653328209,\"y\":14.75972212933847,\"width\":8.61111111111111,\"height\":2.511574074074074,\"correctElements\":[\"0\"],\"showLabel\":false,\"backgroundOpacity\":50,\"tipsAndFeedback\":{\"tip\":\"\"},\"single\":true,\"autoAlign\":true,\"type\":{\"library\":\"H5P.DragQuestionDropzone 0.1\"},\"label\":\"<div>Lift</div>\\n\"},{\"x\":72.35484909201396,\"y\":36.89236101851851,\"width\":8.61111111111111,\"height\":2.511574074074074,\"correctElements\":[\"1\"],\"showLabel\":false,\"backgroundOpacity\":50,\"tipsAndFeedback\":{\"tip\":\"\"},\"single\":true,\"autoAlign\":true,\"type\":{\"library\":\"H5P.DragQuestionDropzone 0.1\"},\"label\":\"<div>Drag</div>\\n\"},{\"x\":72.35516653328209,\"y\":51.65902745268465,\"width\":8.61111111111111,\"height\":2.511574074074074,\"correctElements\":[\"2\"],\"showLabel\":false,\"backgroundOpacity\":50,\"tipsAndFeedback\":{\"tip\":\"\"},\"single\":true,\"autoAlign\":true,\"type\":{\"library\":\"H5P.DragQuestionDropzone 0.1\"},\"label\":\"<div>Spin</div>\\n\"}]}},\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"enableRetry\":true,\"enableCheckButton\":true,\"showSolutionsRequiresInput\":true,\"singlePoint\":false,\"applyPenalties\":true,\"enableScoreExplanation\":true,\"dropZoneHighlighting\":\"dragging\",\"autoAlignSpacing\":2,\"enableFullScreen\":false,\"showScorePoints\":true,\"showTitle\":true},\"grabbablePrefix\":\"Grabbable {num} of {total}.\",\"grabbableSuffix\":\"Placed in dropzone {num}.\",\"dropzonePrefix\":\"Dropzone {num} of {total}.\",\"noDropzone\":\"No dropzone.\",\"tipLabel\":\"Show tip.\",\"tipAvailable\":\"Tip available\",\"correctAnswer\":\"Correct answer\",\"wrongAnswer\":\"Wrong answer\",\"feedbackHeader\":\"Feedback\",\"scoreBarLabel\":\"You got :num out of :total points\",\"scoreExplanationButtonLabel\":\"Show score explanation\",\"localize\":{\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit fullscreen\"}}",
"filtered": "{\"scoreShow\":\"Check\",\"tryAgain\":\"Retry\",\"scoreExplanation\":\"Correct answers give +1 point. Incorrect answers give -1 point. The lowest possible score is 0.\",\"question\":{\"settings\":{\"size\":{\"width\":620,\"height\":310},\"background\":{\"path\":\"images/background-5eab614083be2.png\",\"mime\":\"image/png\",\"copyright\":{\"license\":\"U\"},\"width\":620,\"height\":310}},\"task\":{\"elements\":[{\"x\":0,\"y\":47.96909692035003,\"width\":7.812090416666667,\"height\":1.3537570833333332,\"dropZones\":[\"0\",\"1\",\"2\"],\"type\":{\"library\":\"H5P.AdvancedText 1.1\",\"params\":{\"text\":\"<p>Lift</p>\\n\"},\"subContentId\":\"be1d9b11-91ff-4e59-a7c6-9966e1bf8cb2\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Lift\"}},\"backgroundOpacity\":100,\"multiple\":false},{\"x\":-4.63163666049382e-8,\"y\":58.810763796296285,\"width\":7.812090416666667,\"height\":1.3537570833333332,\"dropZones\":[\"0\",\"1\",\"2\"],\"type\":{\"library\":\"H5P.AdvancedText 1.1\",\"params\":{\"text\":\"<p>Drag</p>\\n\"},\"subContentId\":\"05a00202-b5dd-44a9-acf1-0cce77278b33\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Drag\"}},\"backgroundOpacity\":100,\"multiple\":false},{\"x\":-4.63163666049382e-8,\"y\":36.89236101851851,\"width\":7.812090416666667,\"height\":1.281997824074074,\"dropZones\":[\"0\",\"1\",\"2\"],\"type\":{\"library\":\"H5P.AdvancedText 1.1\",\"params\":{\"text\":\"<p>Spin</p>\\n\"},\"subContentId\":\"140a5423-873b-46d4-8f4f-9b236cefce20\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Spin\"}},\"backgroundOpacity\":100,\"multiple\":false}],\"dropZones\":[{\"x\":72.35516653328209,\"y\":14.75972212933847,\"width\":8.61111111111111,\"height\":2.511574074074074,\"correctElements\":[\"0\"],\"showLabel\":false,\"backgroundOpacity\":50,\"tipsAndFeedback\":{\"tip\":\"\"},\"single\":true,\"autoAlign\":true,\"label\":\"<div>Lift</div>\\n\"},{\"x\":72.35484909201396,\"y\":36.89236101851851,\"width\":8.61111111111111,\"height\":2.511574074074074,\"correctElements\":[\"1\"],\"showLabel\":false,\"backgroundOpacity\":50,\"tipsAndFeedback\":{\"tip\":\"\"},\"single\":true,\"autoAlign\":true,\"label\":\"<div>Drag</div>\\n\"},{\"x\":72.35516653328209,\"y\":51.65902745268465,\"width\":8.61111111111111,\"height\":2.511574074074074,\"correctElements\":[\"2\"],\"showLabel\":false,\"backgroundOpacity\":50,\"tipsAndFeedback\":{\"tip\":\"\"},\"single\":true,\"autoAlign\":true,\"label\":\"<div>Spin</div>\\n\"}]}},\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"enableRetry\":true,\"enableCheckButton\":true,\"showSolutionsRequiresInput\":true,\"singlePoint\":false,\"applyPenalties\":true,\"enableScoreExplanation\":true,\"dropZoneHighlighting\":\"dragging\",\"autoAlignSpacing\":2,\"enableFullScreen\":false,\"showScorePoints\":true,\"showTitle\":true},\"grabbablePrefix\":\"Grabbable {num} of {total}.\",\"grabbableSuffix\":\"Placed in dropzone {num}.\",\"dropzonePrefix\":\"Dropzone {num} of {total}.\",\"noDropzone\":\"No dropzone.\",\"tipLabel\":\"Show tip.\",\"tipAvailable\":\"Tip available\",\"correctAnswer\":\"Correct answer\",\"wrongAnswer\":\"Wrong answer\",\"feedbackHeader\":\"Feedback\",\"scoreBarLabel\":\"You got :num out of :total points\",\"scoreExplanationButtonLabel\":\"Show score explanation\",\"localize\":{\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit fullscreen\"}}",
"slug": "labeling-golf-ball-principles-of-physics",
"embed_type": "div",
"disable": 9,
"content_type": null,
"authors": null,
"source": null,
"year_from": null,
"year_to": null,
"license": "U",
"license_version": null,
"license_extras": null,
"author_comments": null,
"changes": null,
"default_language": null
},
"is_public": false,
"created_at": null,
"updated_at": null
},
{
"id": 17774,
"playlist_id": 1,
"title": "Latest",
"type": "h5p",
"content": "test",
"shared": false,
"order": null,
"thumb_url": "/storage/activities/DrV6rZ6ZDXFMT1k51gbOqw04rqguq6CMtiiD1nDH.png",
"subject_id": "Mathematics",
"education_level_id": null,
"h5p_content": {
"id": 19334,
"created_at": "2020-08-30T20:09:56.000000Z",
"updated_at": "2020-08-30T20:09:56.000000Z",
"user_id": 1,
"title": "Latest",
"library_id": 98,
"parameters": "{\"l10n\":{\"recordAnswer\":\"Record\",\"pause\":\"Pause\",\"continue\":\"Continue\",\"download\":\"Download\",\"done\":\"Done\",\"retry\":\"Retry\",\"microphoneNotSupported\":\"Microphone not supported. Make sure you are using a browser that allows microphone recording.\",\"microphoneInaccessible\":\"Microphone is not accessible. Make sure that the browser microphone is enabled.\",\"insecureNotAllowed\":\"Access to microphone is not allowed in your browser since this page is not served using HTTPS. Please contact the author, and ask him to make this available using HTTPS\",\"statusReadyToRecord\":\"Press a button below to record your answer.\",\"statusRecording\":\"Recording...\",\"statusPaused\":\"Recording paused. Press a button to continue recording.\",\"statusFinishedRecording\":\"You have successfully recorded your answer! Listen to the recording below.\",\"downloadRecording\":\"Download this recording or retry.\",\"retryDialogHeaderText\":\"Retry recording?\",\"retryDialogBodyText\":\"By pressing \\\"Retry\\\" you will lose your current recording.\",\"retryDialogConfirmText\":\"Retry\",\"retryDialogCancelText\":\"Cancel\",\"statusCantCreateTheAudioFile\":\"Can't create the audio file.\"}}",
"filtered": "",
"slug": "latest",
"embed_type": "div",
"disable": 9,
"content_type": null,
"authors": null,
"source": null,
"year_from": null,
"year_to": null,
"license": "U",
"license_version": null,
"license_extras": null,
"author_comments": null,
"changes": null,
"default_language": null
},
"is_public": false,
"created_at": "2020-08-30T20:22:47.000000Z",
"updated_at": "2020-08-30T20:22:47.000000Z"
},
{
"id": 17776,
"playlist_id": 1,
"title": "Latest",
"type": "h5p",
"content": "test",
"shared": false,
"order": null,
"thumb_url": "/storage/activities/DrV6rZ6ZDXFMT1k51gbOqw04rqguq6CMtiiD1nDH.png",
"subject_id": "Mathematics",
"education_level_id": null,
"h5p_content": {
"id": 19334,
"created_at": "2020-08-30T20:09:56.000000Z",
"updated_at": "2020-08-30T20:09:56.000000Z",
"user_id": 1,
"title": "Latest",
"library_id": 98,
"parameters": "{\"l10n\":{\"recordAnswer\":\"Record\",\"pause\":\"Pause\",\"continue\":\"Continue\",\"download\":\"Download\",\"done\":\"Done\",\"retry\":\"Retry\",\"microphoneNotSupported\":\"Microphone not supported. Make sure you are using a browser that allows microphone recording.\",\"microphoneInaccessible\":\"Microphone is not accessible. Make sure that the browser microphone is enabled.\",\"insecureNotAllowed\":\"Access to microphone is not allowed in your browser since this page is not served using HTTPS. Please contact the author, and ask him to make this available using HTTPS\",\"statusReadyToRecord\":\"Press a button below to record your answer.\",\"statusRecording\":\"Recording...\",\"statusPaused\":\"Recording paused. Press a button to continue recording.\",\"statusFinishedRecording\":\"You have successfully recorded your answer! Listen to the recording below.\",\"downloadRecording\":\"Download this recording or retry.\",\"retryDialogHeaderText\":\"Retry recording?\",\"retryDialogBodyText\":\"By pressing \\\"Retry\\\" you will lose your current recording.\",\"retryDialogConfirmText\":\"Retry\",\"retryDialogCancelText\":\"Cancel\",\"statusCantCreateTheAudioFile\":\"Can't create the audio file.\"}}",
"filtered": "",
"slug": "latest",
"embed_type": "div",
"disable": 9,
"content_type": null,
"authors": null,
"source": null,
"year_from": null,
"year_to": null,
"license": "U",
"license_version": null,
"license_extras": null,
"author_comments": null,
"changes": null,
"default_language": null
},
"is_public": false,
"created_at": "2020-08-30T20:24:29.000000Z",
"updated_at": "2020-08-30T20:24:29.000000Z"
},
{
"id": 3,
"playlist_id": 1,
"title": "Physics Vocabulary Study Guide",
"type": "h5p",
"content": "",
"shared": false,
"order": 1,
"thumb_url": null,
"subject_id": null,
"education_level_id": null,
"h5p_content": {
"id": 61,
"created_at": "2020-04-30T20:35:30.000000Z",
"updated_at": "2020-04-30T20:35:30.000000Z",
"user_id": 1,
"title": "Physics Vocabulary Study Guide",
"library_id": 63,
"parameters": "{\"panels\":[{\"content\":{\"params\":{\"text\":\"<p style=\\\"margin-bottom:10px\\\"><span style=\\\"font-size:11pt\\\"><span style=\\\"line-height:107%\\\"><span style=\\\"font-family:Calibri,sans-serif\\\">Acceleration is the measurement of the change </span></span></span><span style=\\\"font-size:11.0pt\\\"><span style=\\\"line-height:107%\\\"><span style=\\\"font-family:"Calibri",sans-serif\\\">in an object\\u2019s velocity. </span></span></span></p>\\n\"},\"library\":\"H5P.AdvancedText 1.1\",\"subContentId\":\"97578055-d386-46be-afe3-c19eae4108aa\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Acceleration\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Acceleration\"}},\"title\":\"Acceleration\"},{\"content\":{\"params\":{\"text\":\"<p style=\\\"margin-bottom:10px\\\"><span style=\\\"font-size:11pt\\\"><span style=\\\"line-height:107%\\\"><span style=\\\"font-family:Calibri,sans-serif\\\">The faster the air moves, the less pressure it exerts.</span></span></span></p>\\n\"},\"library\":\"H5P.AdvancedText 1.1\",\"subContentId\":\"0ce32fbf-4ff1-465b-9c50-8876c5fef34d\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Bernoulli\\u2019s Principle\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Bernoulli\\u2019s Principle\"}},\"title\":\"Bernoulli\\u2019s Principle\"},{\"content\":{\"params\":{\"text\":\"<p><span style=\\\"font-size:10.5pt\\\"><span style=\\\"line-height:107%\\\"><span style=\\\"font-family:"Calibri",sans-serif\\\"><span style=\\\"color:black\\\">A vector is a quantity that has both a magnitude and a direction.</span></span></span></span></p>\\n\"},\"library\":\"H5P.AdvancedText 1.1\",\"subContentId\":\"cead752e-0c29-4acb-b9ae-2f61a3cd5c9b\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Vector\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Vector\"}},\"title\":\"Vector\"},{\"content\":{\"params\":{\"text\":\"<p><span style=\\\"font-size:10.5pt\\\"><span style=\\\"line-height:107%\\\"><span style=\\\"font-family:"Calibri",sans-serif\\\"><span style=\\\"color:black\\\">Drag is the force that acts opposite to the direction of motion. Drag is caused by friction and differences in air pressure.</span></span></span></span></p>\\n\"},\"library\":\"H5P.AdvancedText 1.1\",\"subContentId\":\"6ae4b819-276d-405e-b085-e894c31484d3\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Drag\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Drag\"}},\"title\":\"Drag\"},{\"content\":{\"params\":{\"text\":\"<p style=\\\"margin-bottom:10px\\\"><span style=\\\"font-size:11pt\\\"><span style=\\\"line-height:normal\\\"><span style=\\\"font-family:Calibri,sans-serif\\\"><span style=\\\"font-size:10.5pt\\\"><span style=\\\"color:black\\\">A turbulent flow is one in which the particles have irregular, fluctuating motions and erratic paths.</span></span></span></span></span></p>\\n\"},\"library\":\"H5P.AdvancedText 1.1\",\"subContentId\":\"f9f63fdd-0a8a-4259-a3f1-ca7271b51727\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Turbulent airflow\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Turbulent airflow\"}},\"title\":\"Turbulent airflow\"},{\"content\":{\"params\":{\"text\":\"<p style=\\\"margin-bottom:10px\\\"><span style=\\\"font-size:11pt\\\"><span style=\\\"line-height:107%\\\"><span style=\\\"font-family:Calibri,sans-serif\\\">Friction is the resistance of motion when one object rubs against another. It is a force and is measured in newtons.</span></span></span></p>\\n\"},\"library\":\"H5P.AdvancedText 1.1\",\"subContentId\":\"236c832f-f754-47d6-8d2c-1311a354d861\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Friction\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Friction\"}},\"title\":\"Friction\"}],\"hTag\":\"h2\"}",
"filtered": "{\"panels\":[{\"content\":{\"params\":{\"text\":\"<p><span><span><span>Acceleration is the measurement of the change </span></span></span><span><span><span>in an object\\u2019s velocity. </span></span></span></p>\\n\"},\"library\":\"H5P.AdvancedText 1.1\",\"subContentId\":\"97578055-d386-46be-afe3-c19eae4108aa\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Acceleration\"}},\"title\":\"Acceleration\"},{\"content\":{\"params\":{\"text\":\"<p><span><span><span>The faster the air moves, the less pressure it exerts.</span></span></span></p>\\n\"},\"library\":\"H5P.AdvancedText 1.1\",\"subContentId\":\"0ce32fbf-4ff1-465b-9c50-8876c5fef34d\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Bernoulli\\u2019s Principle\"}},\"title\":\"Bernoulli\\u2019s Principle\"},{\"content\":{\"params\":{\"text\":\"<p><span><span><span><span>A vector is a quantity that has both a magnitude and a direction.</span></span></span></span></p>\\n\"},\"library\":\"H5P.AdvancedText 1.1\",\"subContentId\":\"cead752e-0c29-4acb-b9ae-2f61a3cd5c9b\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Vector\"}},\"title\":\"Vector\"},{\"content\":{\"params\":{\"text\":\"<p><span><span><span><span>Drag is the force that acts opposite to the direction of motion. Drag is caused by friction and differences in air pressure.</span></span></span></span></p>\\n\"},\"library\":\"H5P.AdvancedText 1.1\",\"subContentId\":\"6ae4b819-276d-405e-b085-e894c31484d3\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Drag\"}},\"title\":\"Drag\"},{\"content\":{\"params\":{\"text\":\"<p><span><span><span><span><span>A turbulent flow is one in which the particles have irregular, fluctuating motions and erratic paths.</span></span></span></span></span></p>\\n\"},\"library\":\"H5P.AdvancedText 1.1\",\"subContentId\":\"f9f63fdd-0a8a-4259-a3f1-ca7271b51727\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Turbulent airflow\"}},\"title\":\"Turbulent airflow\"},{\"content\":{\"params\":{\"text\":\"<p><span><span><span>Friction is the resistance of motion when one object rubs against another. It is a force and is measured in newtons.</span></span></span></p>\\n\"},\"library\":\"H5P.AdvancedText 1.1\",\"subContentId\":\"236c832f-f754-47d6-8d2c-1311a354d861\",\"metadata\":{\"contentType\":\"Text\",\"license\":\"U\",\"title\":\"Friction\"}},\"title\":\"Friction\"}],\"hTag\":\"h2\"}",
"slug": "physics-vocabulary-study-guide",
"embed_type": "div",
"disable": 9,
"content_type": null,
"authors": null,
"source": null,
"year_from": null,
"year_to": null,
"license": "U",
"license_version": null,
"license_extras": null,
"author_comments": null,
"changes": null,
"default_language": null
},
"is_public": false,
"created_at": null,
"updated_at": null
},
{
"id": 1,
"playlist_id": 1,
"title": "Science of Golf: Why Balls Have Dimples",
"type": "h5p",
"content": "",
"shared": false,
"order": 2,
"thumb_url": null,
"subject_id": null,
"education_level_id": null,
"h5p_content": {
"id": 59,
"created_at": "2020-04-30T20:24:58.000000Z",
"updated_at": "2020-04-30T20:24:58.000000Z",
"user_id": 1,
"title": "Science of Golf: Why Balls Have Dimples",
"library_id": 40,
"parameters": "{\"interactiveVideo\":{\"video\":{\"startScreenOptions\":{\"title\":\"Interactive Video\",\"hideStartTitle\":false},\"textTracks\":{\"videoTrack\":[{\"label\":\"Subtitles\",\"kind\":\"subtitles\",\"srcLang\":\"en\"}]},\"files\":[{\"path\":\"https://youtu.be/fcjaxC-e8oY\",\"mime\":\"video/YouTube\",\"copyright\":{\"license\":\"U\"},\"aspectRatio\":\"16:9\"}]},\"assets\":{\"interactions\":[{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":58.33,\"to\":68.33},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"133bca3d-cfe9-442d-a887-8bf1e2ce682a\",\"question\":\"<p>Why do golf balls have dimples?</p>\\n\",\"answers\":[\"<p>They reduce wind resistance.</p>\\n\",\"<p>They make the ball more visually interesting.</p>\\n\",\"<p>They grip the putting green better than a smooth ball.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"ac029b43-7225-49ed-a2d7-8656037748e0\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Why do golf balls have dimples?\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Why do golf balls have dimples?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Why do golf balls have dimples?</p>\\n\"},{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":132.969,\"to\":142.969},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"308503f3-8d41-4f4f-b016-587bcce3dfac\",\"question\":\"<p>A smooth ball will have a detached airflow, which causes what?</p>\\n\",\"answers\":[\"<p>A low pressure zone, which is what causes drag.</p>\\n\",\"<p>The ball has no spin.</p>\\n\",\"<p>The ball travels higher, but for a shorter distance.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"f70c849d-9542-4f30-9116-8b60b7da708d\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Smooth Ball?\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Smooth Ball?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Smooth Ball</p>\\n\"}],\"bookmarks\":[],\"endscreens\":[{\"time\":295,\"label\":\"4:55 Submit screen\"}]},\"summary\":{\"task\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"8e2cf84f-4557-4f79-a03e-526838498a7d\",\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"8d5527ef-3601-4ad9-9e63-2782c9775173\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Untitled Summary\"}},\"displayAt\":3}},\"override\":{\"autoplay\":false,\"loop\":false,\"showBookmarksmenuOnLoad\":false,\"showRewind10\":false,\"preventSkipping\":false,\"deactivateSound\":false},\"l10n\":{\"interaction\":\"Interaction\",\"play\":\"Play\",\"pause\":\"Pause\",\"mute\":\"Mute\",\"unmute\":\"Unmute\",\"quality\":\"Video Quality\",\"captions\":\"Captions\",\"close\":\"Close\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit Fullscreen\",\"summary\":\"Open summary dialog\",\"bookmarks\":\"Bookmarks\",\"endscreen\":\"Submit screen\",\"defaultAdaptivitySeekLabel\":\"Continue\",\"continueWithVideo\":\"Continue with video\",\"playbackRate\":\"Playback Rate\",\"rewind10\":\"Rewind 10 Seconds\",\"navDisabled\":\"Navigation is disabled\",\"sndDisabled\":\"Sound is disabled\",\"requiresCompletionWarning\":\"You need to answer all the questions correctly before continuing.\",\"back\":\"Back\",\"hours\":\"Hours\",\"minutes\":\"Minutes\",\"seconds\":\"Seconds\",\"currentTime\":\"Current time:\",\"totalTime\":\"Total time:\",\"singleInteractionAnnouncement\":\"Interaction appeared:\",\"multipleInteractionsAnnouncement\":\"Multiple interactions appeared.\",\"videoPausedAnnouncement\":\"Video is paused\",\"content\":\"Content\",\"answered\":\"@answered answered\",\"endcardTitle\":\"@answered Question(s) answered\",\"endcardInformation\":\"You have answered @answered questions, click below to submit your answers.\",\"endcardInformationNoAnswers\":\"You have not answered any questions.\",\"endcardInformationMustHaveAnswer\":\"You have to answer at least one question before you can submit your answers.\",\"endcardSubmitButton\":\"Submit Answers\",\"endcardSubmitMessage\":\"Your answers have been submitted!\",\"endcardTableRowAnswered\":\"Answered questions\",\"endcardTableRowScore\":\"Score\",\"endcardAnsweredScore\":\"answered\",\"endCardTableRowSummaryWithScore\":\"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\"endCardTableRowSummaryWithoutScore\":\"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\"}}",
"filtered": "{\"interactiveVideo\":{\"video\":{\"startScreenOptions\":{\"title\":\"Interactive Video\",\"hideStartTitle\":false},\"textTracks\":{\"videoTrack\":[{\"label\":\"Subtitles\",\"kind\":\"subtitles\",\"srcLang\":\"en\"}]},\"files\":[{\"path\":\"https://youtu.be/fcjaxC-e8oY\",\"mime\":\"video/YouTube\",\"copyright\":{\"license\":\"U\"}}]},\"assets\":{\"interactions\":[{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":58.33,\"to\":68.33},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"133bca3d-cfe9-442d-a887-8bf1e2ce682a\",\"question\":\"<p>Why do golf balls have dimples?</p>\\n\",\"answers\":[\"<p>They reduce wind resistance.</p>\\n\",\"<p>They make the ball more visually interesting.</p>\\n\",\"<p>They grip the putting green better than a smooth ball.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"ac029b43-7225-49ed-a2d7-8656037748e0\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Why do golf balls have dimples?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Why do golf balls have dimples?</p>\\n\"},{\"x\":45.96541786743516,\"y\":42.78350515463918,\"width\":10,\"height\":10,\"duration\":{\"from\":132.969,\"to\":142.969},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"308503f3-8d41-4f4f-b016-587bcce3dfac\",\"question\":\"<p>A smooth ball will have a detached airflow, which causes what?</p>\\n\",\"answers\":[\"<p>A low pressure zone, which is what causes drag.</p>\\n\",\"<p>The ball has no spin.</p>\\n\",\"<p>The ball travels higher, but for a shorter distance.</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"f70c849d-9542-4f30-9116-8b60b7da708d\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Smooth Ball?\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"<p>Smooth Ball</p>\\n\"}],\"endscreens\":[{\"time\":295,\"label\":\"4:55 Submit screen\"}]},\"summary\":{\"task\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"8e2cf84f-4557-4f79-a03e-526838498a7d\",\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"8d5527ef-3601-4ad9-9e63-2782c9775173\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\"}},\"displayAt\":3}},\"override\":{\"autoplay\":false,\"loop\":false,\"showBookmarksmenuOnLoad\":false,\"showRewind10\":false,\"preventSkipping\":false,\"deactivateSound\":false},\"l10n\":{\"interaction\":\"Interaction\",\"play\":\"Play\",\"pause\":\"Pause\",\"mute\":\"Mute\",\"unmute\":\"Unmute\",\"quality\":\"Video Quality\",\"captions\":\"Captions\",\"close\":\"Close\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit Fullscreen\",\"summary\":\"Open summary dialog\",\"bookmarks\":\"Bookmarks\",\"endscreen\":\"Submit screen\",\"defaultAdaptivitySeekLabel\":\"Continue\",\"continueWithVideo\":\"Continue with video\",\"playbackRate\":\"Playback Rate\",\"rewind10\":\"Rewind 10 Seconds\",\"navDisabled\":\"Navigation is disabled\",\"sndDisabled\":\"Sound is disabled\",\"requiresCompletionWarning\":\"You need to answer all the questions correctly before continuing.\",\"back\":\"Back\",\"hours\":\"Hours\",\"minutes\":\"Minutes\",\"seconds\":\"Seconds\",\"currentTime\":\"Current time:\",\"totalTime\":\"Total time:\",\"singleInteractionAnnouncement\":\"Interaction appeared:\",\"multipleInteractionsAnnouncement\":\"Multiple interactions appeared.\",\"videoPausedAnnouncement\":\"Video is paused\",\"content\":\"Content\",\"answered\":\"@answered answered\",\"endcardTitle\":\"@answered Question(s) answered\",\"endcardInformation\":\"You have answered @answered questions, click below to submit your answers.\",\"endcardInformationNoAnswers\":\"You have not answered any questions.\",\"endcardInformationMustHaveAnswer\":\"You have to answer at least one question before you can submit your answers.\",\"endcardSubmitButton\":\"Submit Answers\",\"endcardSubmitMessage\":\"Your answers have been submitted!\",\"endcardTableRowAnswered\":\"Answered questions\",\"endcardTableRowScore\":\"Score\",\"endcardAnsweredScore\":\"answered\",\"endCardTableRowSummaryWithScore\":\"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\"endCardTableRowSummaryWithoutScore\":\"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\"}}",
"slug": "science-of-golf-why-balls-have-dimples",
"embed_type": "div",
"disable": 9,
"content_type": null,
"authors": null,
"source": null,
"year_from": null,
"year_to": null,
"license": "U",
"license_version": null,
"license_extras": null,
"author_comments": null,
"changes": null,
"default_language": null
},
"is_public": false,
"created_at": null,
"updated_at": null
},
{
"id": 2,
"playlist_id": 1,
"title": "Physics and Golf Balls",
"type": "h5p",
"content": "",
"shared": false,
"order": 3,
"thumb_url": null,
"subject_id": null,
"education_level_id": null,
"h5p_content": {
"id": 60,
"created_at": "2020-04-30T20:31:11.000000Z",
"updated_at": "2020-04-30T20:31:11.000000Z",
"user_id": 1,
"title": "Physics and Golf Balls",
"library_id": 60,
"parameters": "{\"cards\":[{\"text\":\"Is the measurement of the change in an object\\u2019s velocity called Speed or Acceleration?\",\"answer\":\"Acceleration\",\"image\":{\"path\":\"images/image-5eab35098aaf0.png#tmp\",\"mime\":\"image/png\",\"copyright\":{\"license\":\"U\"},\"width\":1280,\"height\":720},\"tip\":\"\"},{\"text\":\"Dimples reduce wind resistance or aerodynamic drag. Does that make the ball go farther or faster?\",\"answer\":\"Farther\",\"image\":{\"path\":\"images/image-5eab355f7ca78.jpg#tmp\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":1280,\"height\":720},\"tip\":\"\"},{\"text\":\"Do dimples on a ball increase or decrease the lift?\",\"answer\":\"Increase\",\"image\":{\"path\":\"images/image-5eab3589be9e3.jpg#tmp\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":634,\"height\":508},\"tip\":\"\"}],\"progressText\":\"Card @card of @total\",\"next\":\"Next\",\"previous\":\"Previous\",\"checkAnswerText\":\"Check\",\"showSolutionsRequiresInput\":true,\"defaultAnswerText\":\"Your answer\",\"correctAnswerText\":\"Correct\",\"incorrectAnswerText\":\"Incorrect\",\"showSolutionText\":\"Correct answer\",\"results\":\"Results\",\"ofCorrect\":\"@score of @total correct\",\"showResults\":\"Show results\",\"answerShortText\":\"A:\",\"retry\":\"Retry\",\"caseSensitive\":false,\"cardAnnouncement\":\"Incorrect answer. Correct answer was @answer\",\"pageAnnouncement\":\"Page @current of @total\",\"description\":\"See if you can remember what you learned!\"}",
"filtered": "{\"cards\":[{\"text\":\"Is the measurement of the change in an object\\u2019s velocity called Speed or Acceleration?\",\"answer\":\"Acceleration\",\"image\":{\"path\":\"images/image-5eab35098aaf0.png\",\"mime\":\"image/png\",\"copyright\":{\"license\":\"U\"},\"width\":1280,\"height\":720},\"tip\":\"\"},{\"text\":\"Dimples reduce wind resistance or aerodynamic drag. Does that make the ball go farther or faster?\",\"answer\":\"Farther\",\"image\":{\"path\":\"images/image-5eab355f7ca78.jpg\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":1280,\"height\":720},\"tip\":\"\"},{\"text\":\"Do dimples on a ball increase or decrease the lift?\",\"answer\":\"Increase\",\"image\":{\"path\":\"images/image-5eab3589be9e3.jpg\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":634,\"height\":508},\"tip\":\"\"}],\"progressText\":\"Card @card of @total\",\"next\":\"Next\",\"previous\":\"Previous\",\"checkAnswerText\":\"Check\",\"showSolutionsRequiresInput\":true,\"defaultAnswerText\":\"Your answer\",\"correctAnswerText\":\"Correct\",\"incorrectAnswerText\":\"Incorrect\",\"showSolutionText\":\"Correct answer\",\"results\":\"Results\",\"ofCorrect\":\"@score of @total correct\",\"showResults\":\"Show results\",\"answerShortText\":\"A:\",\"retry\":\"Retry\",\"caseSensitive\":false,\"cardAnnouncement\":\"Incorrect answer. Correct answer was @answer\",\"pageAnnouncement\":\"Page @current of @total\",\"description\":\"See if you can remember what you learned!\"}",
"slug": "physics-and-golf-balls",
"embed_type": "div",
"disable": 9,
"content_type": null,
"authors": null,
"source": null,
"year_from": null,
"year_to": null,
"license": "U",
"license_version": null,
"license_extras": null,
"author_comments": null,
"changes": null,
"default_language": null
},
"is_public": false,
"created_at": null,
"updated_at": null
},
{
"id": 6,
"playlist_id": 1,
"title": "Understanding Gear Effect | Equipment and Tech | 18Birdies",
"type": "h5p",
"content": "",
"shared": false,
"order": 4,
"thumb_url": null,
"subject_id": null,
"education_level_id": null,
"h5p_content": {
"id": 75,
"created_at": "2020-05-01T04:51:11.000000Z",
"updated_at": "2020-05-01T04:51:11.000000Z",
"user_id": 1,
"title": "Understanding Gear Effect | Equipment and Tech | 18Birdies",
"library_id": 40,
"parameters": "{\"interactiveVideo\":{\"video\":{\"startScreenOptions\":{\"title\":\"Interactive Video\",\"hideStartTitle\":false},\"textTracks\":{\"videoTrack\":[{\"label\":\"Subtitles\",\"kind\":\"subtitles\",\"srcLang\":\"en\"}]},\"files\":[{\"path\":\"https://www.youtube.com/watch?v=FdH0JQL5E-U&list=PLVIShUJLAj0rWw3Yr3VtFGH4IbIVMfQFo\",\"mime\":\"video/YouTube\",\"copyright\":{\"license\":\"U\"},\"aspectRatio\":\"16:9\"}]},\"assets\":{\"interactions\":[{\"x\":46.87499999999999,\"y\":44.44444444444444,\"width\":10,\"height\":10,\"duration\":{\"from\":52,\"to\":52},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"c9f0c83d-2ba2-4810-843a-1ee7bec2076f\",\"question\":\"<p>\\\"Torque\\\" is a property of golf shafts that describes how much the shaft is prone to twisting during the golf swing.</p>\\n\",\"answers\":[\"<p>True</p>\\n\",\"<p>False</p>\\n\"]},{\"subContentId\":\"81f2e02c-0f04-44a3-922c-4eac61a11acb\",\"question\":\"<p>... A shaft with a _____ torque rating means the shaft better resists twisting; a shaft with a ____ torque rating means the shaft is more prone to twisting (all other things being equal).</p>\\n\",\"answers\":[\"<p>lower, higher</p>\\n\",\"<p>higher, lower</p>\\n\",\"<p>sharper, duller</p>\\n\",\"<p>straigher, curved</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"eadebb1e-891e-4ff3-8676-943c2616a9e0\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Untitled Single Choice Set\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Untitled Single Choice Set\"}},\"pause\":true,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"\"},{\"x\":46.87499999999999,\"y\":44.44444444444444,\"width\":10,\"height\":10,\"duration\":{\"from\":24.314,\"to\":34.314},\"libraryTitle\":\"Statements\",\"action\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"7bce98af-5267-4ca6-a08c-0c8f2bef5afb\",\"summary\":[\"Gear effect is the term used to explain how and why hitting the ball off-center changes the ball flight.\\n\",\"<p>Gear effect is the term used to explain how and why it is imprtant to adjust the pressure on the clubhead.</p>\\n\",\"<p>Gear effect is the term used to explain how and why it is imprtant to ride your bike to the course.</p>\\n\"],\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"3b954191-ad43-452c-95c3-868047eb55be\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Untitled Summary\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"}},\"label\":\"\"},{\"x\":46.87499999999999,\"y\":44.44444444444444,\"width\":10,\"height\":10,\"duration\":{\"from\":145.688,\"to\":155.688},\"libraryTitle\":\"Multiple Choice\",\"action\":{\"library\":\"H5P.MultiChoice 1.14\",\"params\":{\"media\":{\"type\":{\"params\":{}},\"disableImageZooming\":false},\"answers\":[{\"correct\":true,\"tipsAndFeedback\":{\"tip\":\"\",\"chosenFeedback\":\"\",\"notChosenFeedback\":\"\"},\"text\":\"<div>This pushes the ball to the right, causing a fade slice curved flight.</div>\\n\"},{\"correct\":false,\"tipsAndFeedback\":{\"tip\":\"\",\"chosenFeedback\":\"\",\"notChosenFeedback\":\"\"},\"text\":\"<div>This pushes the ball to the left, causing a <strong>slice</strong> curved flight.</div>\\n\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"enableRetry\":true,\"enableSolutionsButton\":true,\"enableCheckButton\":true,\"type\":\"auto\",\"singlePoint\":false,\"randomAnswers\":true,\"showSolutionsRequiresInput\":true,\"confirmCheckDialog\":false,\"confirmRetryDialog\":false,\"autoCheck\":false,\"passPercentage\":100,\"showScorePoints\":true},\"UI\":{\"checkAnswerButton\":\"Check\",\"showSolutionButton\":\"Show solution\",\"tryAgainButton\":\"Retry\",\"tipsLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"tipAvailable\":\"Tip available\",\"feedbackAvailable\":\"Feedback available\",\"readFeedback\":\"Read feedback\",\"wrongAnswer\":\"Wrong answer\",\"correctAnswer\":\"Correct answer\",\"shouldCheck\":\"Should have been checked\",\"shouldNotCheck\":\"Should not have been checked\",\"noInput\":\"Please answer before viewing the solution\"},\"confirmCheck\":{\"header\":\"Finish ?\",\"body\":\"Are you sure you wish to finish ?\",\"cancelLabel\":\"Cancel\",\"confirmLabel\":\"Finish\"},\"confirmRetry\":{\"header\":\"Retry ?\",\"body\":\"Are you sure you wish to retry ?\",\"cancelLabel\":\"Cancel\",\"confirmLabel\":\"Confirm\"},\"question\":\"<p>When a ball is spinning in a clockwise direction, there is high pressure on the left hand side of the ball, and low pressure on the right.</p>\\n\"},\"subContentId\":\"df5e99b0-6513-4aa9-a760-e3d9e2bfefe9\",\"metadata\":{\"contentType\":\"Multiple Choice\",\"license\":\"U\",\"title\":\"Untitled Multiple Choice\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Untitled Multiple Choice\"}},\"pause\":true,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"\"}],\"bookmarks\":[],\"endscreens\":[{\"time\":358,\"label\":\"5:58 Submit screen\"}]},\"summary\":{\"task\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"64506cb8-ea40-4c72-8c98-ed0bb3c3b808\",\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"b8eb5a4d-5e2e-4b74-95f5-ca37d1a45186\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\",\"authors\":[],\"changes\":[],\"extraTitle\":\"Untitled Summary\"}},\"displayAt\":3}},\"override\":{\"autoplay\":true,\"loop\":false,\"showBookmarksmenuOnLoad\":false,\"showRewind10\":false,\"preventSkipping\":false,\"deactivateSound\":false,\"startVideoAt\":37},\"l10n\":{\"interaction\":\"Interaction\",\"play\":\"Play\",\"pause\":\"Pause\",\"mute\":\"Mute\",\"unmute\":\"Unmute\",\"quality\":\"Video Quality\",\"captions\":\"Captions\",\"close\":\"Close\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit Fullscreen\",\"summary\":\"Open summary dialog\",\"bookmarks\":\"Bookmarks\",\"endscreen\":\"Submit screen\",\"defaultAdaptivitySeekLabel\":\"Continue\",\"continueWithVideo\":\"Continue with video\",\"playbackRate\":\"Playback Rate\",\"rewind10\":\"Rewind 10 Seconds\",\"navDisabled\":\"Navigation is disabled\",\"sndDisabled\":\"Sound is disabled\",\"requiresCompletionWarning\":\"You need to answer all the questions correctly before continuing.\",\"back\":\"Back\",\"hours\":\"Hours\",\"minutes\":\"Minutes\",\"seconds\":\"Seconds\",\"currentTime\":\"Current time:\",\"totalTime\":\"Total time:\",\"singleInteractionAnnouncement\":\"Interaction appeared:\",\"multipleInteractionsAnnouncement\":\"Multiple interactions appeared.\",\"videoPausedAnnouncement\":\"Video is paused\",\"content\":\"Content\",\"answered\":\"@answered answered\",\"endcardTitle\":\"@answered Question(s) answered\",\"endcardInformation\":\"You have answered @answered questions, click below to submit your answers.\",\"endcardInformationNoAnswers\":\"You have not answered any questions.\",\"endcardInformationMustHaveAnswer\":\"You have to answer at least one question before you can submit your answers.\",\"endcardSubmitButton\":\"Submit Answers\",\"endcardSubmitMessage\":\"Your answers have been submitted!\",\"endcardTableRowAnswered\":\"Answered questions\",\"endcardTableRowScore\":\"Score\",\"endcardAnsweredScore\":\"answered\",\"endCardTableRowSummaryWithScore\":\"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\"endCardTableRowSummaryWithoutScore\":\"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\"}}",
"filtered": "{\"interactiveVideo\":{\"video\":{\"startScreenOptions\":{\"title\":\"Interactive Video\",\"hideStartTitle\":false},\"textTracks\":{\"videoTrack\":[{\"label\":\"Subtitles\",\"kind\":\"subtitles\",\"srcLang\":\"en\"}]},\"files\":[{\"path\":\"https://www.youtube.com/watch?v=FdH0JQL5E-U&list=PLVIShUJLAj0rWw3Yr3VtFGH4IbIVMfQFo\",\"mime\":\"video/YouTube\",\"copyright\":{\"license\":\"U\"}}]},\"assets\":{\"interactions\":[{\"x\":46.87499999999999,\"y\":44.44444444444444,\"width\":10,\"height\":10,\"duration\":{\"from\":52,\"to\":52},\"libraryTitle\":\"Single Choice Set\",\"action\":{\"library\":\"H5P.SingleChoiceSet 1.11\",\"params\":{\"choices\":[{\"subContentId\":\"c9f0c83d-2ba2-4810-843a-1ee7bec2076f\",\"question\":\"<p>\\\"Torque\\\" is a property of golf shafts that describes how much the shaft is prone to twisting during the golf swing.</p>\\n\",\"answers\":[\"<p>True</p>\\n\",\"<p>False</p>\\n\"]},{\"subContentId\":\"81f2e02c-0f04-44a3-922c-4eac61a11acb\",\"question\":\"<p>... A shaft with a _____ torque rating means the shaft better resists twisting; a shaft with a ____ torque rating means the shaft is more prone to twisting (all other things being equal).</p>\\n\",\"answers\":[\"<p>lower, higher</p>\\n\",\"<p>higher, lower</p>\\n\",\"<p>sharper, duller</p>\\n\",\"<p>straigher, curved</p>\\n\"]}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"autoContinue\":true,\"timeoutCorrect\":2000,\"timeoutWrong\":3000,\"soundEffectsEnabled\":true,\"enableRetry\":true,\"enableSolutionsButton\":true,\"passPercentage\":100},\"l10n\":{\"nextButtonLabel\":\"Next question\",\"showSolutionButtonLabel\":\"Show solution\",\"retryButtonLabel\":\"Retry\",\"solutionViewTitle\":\"Solution list\",\"correctText\":\"Correct!\",\"incorrectText\":\"Incorrect!\",\"muteButtonLabel\":\"Mute feedback sound\",\"closeButtonLabel\":\"Close\",\"slideOfTotal\":\"Slide :num of :total\",\"scoreBarLabel\":\"You got :num out of :total points\",\"solutionListQuestionNumber\":\"Question :num\"}},\"subContentId\":\"eadebb1e-891e-4ff3-8676-943c2616a9e0\",\"metadata\":{\"contentType\":\"Single Choice Set\",\"license\":\"U\",\"title\":\"Untitled Single Choice Set\"}},\"pause\":true,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"\"},{\"x\":46.87499999999999,\"y\":44.44444444444444,\"width\":10,\"height\":10,\"duration\":{\"from\":24.314,\"to\":34.314},\"libraryTitle\":\"Statements\",\"action\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"7bce98af-5267-4ca6-a08c-0c8f2bef5afb\",\"summary\":[\"Gear effect is the term used to explain how and why hitting the ball off-center changes the ball flight.\\n\",\"<p>Gear effect is the term used to explain how and why it is imprtant to adjust the pressure on the clubhead.</p>\\n\",\"<p>Gear effect is the term used to explain how and why it is imprtant to ride your bike to the course.</p>\\n\"],\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"3b954191-ad43-452c-95c3-868047eb55be\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\"}},\"pause\":false,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"}},\"label\":\"\"},{\"x\":46.87499999999999,\"y\":44.44444444444444,\"width\":10,\"height\":10,\"duration\":{\"from\":145.688,\"to\":155.688},\"libraryTitle\":\"Multiple Choice\",\"action\":{\"library\":\"H5P.MultiChoice 1.14\",\"params\":{\"media\":{\"disableImageZooming\":false},\"answers\":[{\"correct\":true,\"tipsAndFeedback\":{\"tip\":\"\",\"chosenFeedback\":\"\",\"notChosenFeedback\":\"\"},\"text\":\"<div>This pushes the ball to the right, causing a fade slice curved flight.</div>\\n\"},{\"correct\":false,\"tipsAndFeedback\":{\"tip\":\"\",\"chosenFeedback\":\"\",\"notChosenFeedback\":\"\"},\"text\":\"<div>This pushes the ball to the left, causing a <strong>slice</strong> curved flight.</div>\\n\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"behaviour\":{\"enableRetry\":true,\"enableSolutionsButton\":true,\"enableCheckButton\":true,\"type\":\"auto\",\"singlePoint\":false,\"randomAnswers\":true,\"showSolutionsRequiresInput\":true,\"confirmCheckDialog\":false,\"confirmRetryDialog\":false,\"autoCheck\":false,\"passPercentage\":100,\"showScorePoints\":true},\"UI\":{\"checkAnswerButton\":\"Check\",\"showSolutionButton\":\"Show solution\",\"tryAgainButton\":\"Retry\",\"tipsLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"tipAvailable\":\"Tip available\",\"feedbackAvailable\":\"Feedback available\",\"readFeedback\":\"Read feedback\",\"wrongAnswer\":\"Wrong answer\",\"correctAnswer\":\"Correct answer\",\"shouldCheck\":\"Should have been checked\",\"shouldNotCheck\":\"Should not have been checked\",\"noInput\":\"Please answer before viewing the solution\"},\"confirmCheck\":{\"header\":\"Finish ?\",\"body\":\"Are you sure you wish to finish ?\",\"cancelLabel\":\"Cancel\",\"confirmLabel\":\"Finish\"},\"confirmRetry\":{\"header\":\"Retry ?\",\"body\":\"Are you sure you wish to retry ?\",\"cancelLabel\":\"Cancel\",\"confirmLabel\":\"Confirm\"},\"question\":\"<p>When a ball is spinning in a clockwise direction, there is high pressure on the left hand side of the ball, and low pressure on the right.</p>\\n\"},\"subContentId\":\"df5e99b0-6513-4aa9-a760-e3d9e2bfefe9\",\"metadata\":{\"contentType\":\"Multiple Choice\",\"license\":\"U\",\"title\":\"Untitled Multiple Choice\"}},\"pause\":true,\"displayType\":\"button\",\"buttonOnMobile\":false,\"adaptivity\":{\"correct\":{\"allowOptOut\":false,\"message\":\"\"},\"wrong\":{\"allowOptOut\":false,\"message\":\"\"},\"requireCompletion\":false},\"label\":\"\"}],\"endscreens\":[{\"time\":358,\"label\":\"5:58 Submit screen\"}]},\"summary\":{\"task\":{\"library\":\"H5P.Summary 1.10\",\"params\":{\"intro\":\"Choose the correct statement.\",\"summaries\":[{\"subContentId\":\"64506cb8-ea40-4c72-8c98-ed0bb3c3b808\",\"tip\":\"\"}],\"overallFeedback\":[{\"from\":0,\"to\":100}],\"solvedLabel\":\"Progress:\",\"scoreLabel\":\"Wrong answers:\",\"resultLabel\":\"Your result\",\"labelCorrect\":\"Correct.\",\"labelIncorrect\":\"Incorrect! Please try again.\",\"alternativeIncorrectLabel\":\"Incorrect\",\"labelCorrectAnswers\":\"Correct answers.\",\"tipButtonLabel\":\"Show tip\",\"scoreBarLabel\":\"You got :num out of :total points\",\"progressText\":\"Progress :num of :total\"},\"subContentId\":\"b8eb5a4d-5e2e-4b74-95f5-ca37d1a45186\",\"metadata\":{\"contentType\":\"Summary\",\"license\":\"U\",\"title\":\"Untitled Summary\"}},\"displayAt\":3}},\"override\":{\"autoplay\":true,\"loop\":false,\"showBookmarksmenuOnLoad\":false,\"showRewind10\":false,\"preventSkipping\":false,\"deactivateSound\":false,\"startVideoAt\":37},\"l10n\":{\"interaction\":\"Interaction\",\"play\":\"Play\",\"pause\":\"Pause\",\"mute\":\"Mute\",\"unmute\":\"Unmute\",\"quality\":\"Video Quality\",\"captions\":\"Captions\",\"close\":\"Close\",\"fullscreen\":\"Fullscreen\",\"exitFullscreen\":\"Exit Fullscreen\",\"summary\":\"Open summary dialog\",\"bookmarks\":\"Bookmarks\",\"endscreen\":\"Submit screen\",\"defaultAdaptivitySeekLabel\":\"Continue\",\"continueWithVideo\":\"Continue with video\",\"playbackRate\":\"Playback Rate\",\"rewind10\":\"Rewind 10 Seconds\",\"navDisabled\":\"Navigation is disabled\",\"sndDisabled\":\"Sound is disabled\",\"requiresCompletionWarning\":\"You need to answer all the questions correctly before continuing.\",\"back\":\"Back\",\"hours\":\"Hours\",\"minutes\":\"Minutes\",\"seconds\":\"Seconds\",\"currentTime\":\"Current time:\",\"totalTime\":\"Total time:\",\"singleInteractionAnnouncement\":\"Interaction appeared:\",\"multipleInteractionsAnnouncement\":\"Multiple interactions appeared.\",\"videoPausedAnnouncement\":\"Video is paused\",\"content\":\"Content\",\"answered\":\"@answered answered\",\"endcardTitle\":\"@answered Question(s) answered\",\"endcardInformation\":\"You have answered @answered questions, click below to submit your answers.\",\"endcardInformationNoAnswers\":\"You have not answered any questions.\",\"endcardInformationMustHaveAnswer\":\"You have to answer at least one question before you can submit your answers.\",\"endcardSubmitButton\":\"Submit Answers\",\"endcardSubmitMessage\":\"Your answers have been submitted!\",\"endcardTableRowAnswered\":\"Answered questions\",\"endcardTableRowScore\":\"Score\",\"endcardAnsweredScore\":\"answered\",\"endCardTableRowSummaryWithScore\":\"You got @score out of @total points for the @question that appeared after @minutes minutes and @seconds seconds.\",\"endCardTableRowSummaryWithoutScore\":\"You have answered the @question that appeared after @minutes minutes and @seconds seconds.\"}}",
"slug": "understanding-gear-effect-equipment-and-tech-18birdies",
"embed_type": "div",
"disable": 9,
"content_type": null,
"authors": null,
"source": null,
"year_from": null,
"year_to": null,
"license": "U",
"license_version": null,
"license_extras": null,
"author_comments": null,
"changes": null,
"default_language": null
},
"is_public": false,
"created_at": null,
"updated_at": null
},
{
"id": 5,
"playlist_id": 1,
"title": "The Evolution of the Golf Ball",
"type": "h5p",
"content": "",
"shared": false,
"order": 5,
"thumb_url": null,
"subject_id": null,
"education_level_id": null,
"h5p_content": {
"id": 66,
"created_at": "2020-04-30T23:58:44.000000Z",
"updated_at": "2020-04-30T23:58:44.000000Z",
"user_id": 1,
"title": "The Evolution of the Golf Ball",
"library_id": 61,
"parameters": "{\"timeline\":{\"defaultZoomLevel\":\"0\",\"height\":600,\"asset\":{},\"date\":[{\"asset\":{\"thumbnail\":{\"path\":\"images/thumbnail-5eab648fb61c9.jpeg#tmp\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":234,\"height\":216}},\"startDate\":\"1400\",\"endDate\":\"2020\",\"headline\":\"Origins of Golf\",\"text\":\"<p>Golf is recorded in its first recognizable form in the Eastern Coast of Scotland.</p>\\n\"},{\"asset\":{\"thumbnail\":{\"path\":\"images/thumbnail-5eab64e26de00.jpg#tmp\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":475,\"height\":222}},\"startDate\":\"1600\",\"headline\":\"Wood Golf Balls\",\"text\":\"<p>The first known golf ball was made out of wood, most likely beech, boxroot and similar hardwoods. Wooden clubs were the golf club of choice, which in conjunction with the wood balls would have made your friendly game of golf a rather jarring experience.</p>\\n\"},{\"asset\":{\"thumbnail\":{\"path\":\"images/thumbnail-5eab652f19393.png#tmp\",\"mime\":\"image/png\",\"copyright\":{\"license\":\"U\"},\"width\":1128,\"height\":1096}},\"startDate\":\"1618\",\"headline\":\"Feathery Golf Balls\",\"text\":\"<p>The first \\\"real\\\" golf ball was known as a \\\"feathery\\\"golf ball. Basically, the feathery was a leather sack filled with boiled goose feathers, then stitched up and painted. Feathery golf balls were expensive to make easily damaged and only the privileged few could afford to use them. </p>\\n\\n<p>It was made of cow or horsehide which was stuffed with feathers; most often goose feather. The leather, in order to be easier to work with, was soaked in water. The feathers that were forced into the ball by using a specially designed crutch-handled filling rod were soaked as well. </p>\\n\\n<p>After the ball was carefully hand sewn together, it was left to dry. While the leather shrank, the feathers expanded, which made the ball very hard and compact. </p>\\n\\n<p>Interestingly, the featherie also had excellent flight characteristics as it could reach a distance of up to 175 yards; although the longest recorded distance is more than 361 yards.<br>\\n </p>\\n\"},{\"asset\":{\"thumbnail\":{\"path\":\"images/thumbnail-5eab658fa6bde.jpg#tmp\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":1350,\"height\":759},\"media\":\"https://images.app.goo.gl/MFHFL1dtDiyR5nGq7\"},\"startDate\":\"1848\",\"headline\":\"Cost of Golf Balls\",\"text\":\"<p>In the mid-19th century, most people could only dream of playing golf. There were at the time fewer than 20 golf clubs around the world, with just three being outside Scotland. But that was not the only thing that prevented most people from playing golf. The high cost of golf essentials, especially of golf balls, made the game pretty much inaccessible to ordinary people.31 But that was soon about to change...<br>\\n </p>\\n\"},{\"asset\":{\"thumbnail\":{\"path\":\"images/thumbnail-5eab65cbe1adb.png#tmp\",\"mime\":\"image/png\",\"copyright\":{\"license\":\"U\"},\"width\":944,\"height\":890}},\"startDate\":\"1848\",\"endDate\":\"1890\",\"headline\":\"Gutty Golf Balls\",\"text\":\"<p>It wasn't until 1848 that Rev. Dr. Robert Adams began creating golf balls out of Gutta Percha \\\"Gutty\\\". The Gutty golf ball was created from the dried sap of the Sapodilla tree. It had a rubber-like feel and was formed into ball shapes by heating it up and shaping it while hot. </p>\\n\\n<p>The arrival of the gutta percha ball or \\\"gutty\\\", as it was called, revolutionized the game of golf and allowed its spread to the masses due to its affordability, playability and durability.</p>\\n\"},{\"asset\":{},\"startDate\":\"1899\",\"headline\":\"Hand Hammered Gutta Ball\",\"text\":\"<p>American businessman and inventor Coburn Haskell (1868-1922) got a (joint) patent from the United States Patent Office for the rubber-wound ball47 which would soon lead to another revolution in golf. Widely regarded as the first modern golf ball, Haskell\\u2019s ball was made of a solid rubber-wound core that was covered by guttapercha.</p>\\n\"}],\"language\":\"en\",\"headline\":\"The Evolution of the Golf Ball\",\"text\":\"<div>A golf ball is central to the game of golf. In fact, golf is all about the ball. Well, getting it into the hole in the ground!</div>\\n\",\"backgroundImage\":{\"path\":\"images/backgroundImage-5eab633e2e935.jpg#tmp\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":2139,\"height\":1179}}}",
"filtered": "{\"timeline\":{\"defaultZoomLevel\":\"0\",\"height\":600,\"asset\":{},\"date\":[{\"asset\":{\"thumbnail\":{\"path\":\"images/thumbnail-5eab648fb61c9.jpeg\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":234,\"height\":216}},\"startDate\":\"1400\",\"endDate\":\"2020\",\"headline\":\"Origins of Golf\",\"text\":\"<p>Golf is recorded in its first recognizable form in the Eastern Coast of Scotland.</p>\\n\"},{\"asset\":{\"thumbnail\":{\"path\":\"images/thumbnail-5eab64e26de00.jpg\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":475,\"height\":222}},\"startDate\":\"1600\",\"headline\":\"Wood Golf Balls\",\"text\":\"<p>The first known golf ball was made out of wood, most likely beech, boxroot and similar hardwoods. Wooden clubs were the golf club of choice, which in conjunction with the wood balls would have made your friendly game of golf a rather jarring experience.</p>\\n\"},{\"asset\":{\"thumbnail\":{\"path\":\"images/thumbnail-5eab652f19393.png\",\"mime\":\"image/png\",\"copyright\":{\"license\":\"U\"},\"width\":1128,\"height\":1096}},\"startDate\":\"1618\",\"headline\":\"Feathery Golf Balls\",\"text\":\"<p>The first \\\"real\\\" golf ball was known as a \\\"feathery\\\"golf ball. Basically, the feathery was a leather sack filled with boiled goose feathers, then stitched up and painted. Feathery golf balls were expensive to make easily damaged and only the privileged few could afford to use them. </p>\\n\\n<p>It was made of cow or horsehide which was stuffed with feathers; most often goose feather. The leather, in order to be easier to work with, was soaked in water. The feathers that were forced into the ball by using a specially designed crutch-handled filling rod were soaked as well. </p>\\n\\n<p>After the ball was carefully hand sewn together, it was left to dry. While the leather shrank, the feathers expanded, which made the ball very hard and compact. </p>\\n\\n<p>Interestingly, the featherie also had excellent flight characteristics as it could reach a distance of up to 175 yards; although the longest recorded distance is more than 361 yards.<br>\\n </p>\\n\"},{\"asset\":{\"thumbnail\":{\"path\":\"images/thumbnail-5eab658fa6bde.jpg\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":1350,\"height\":759},\"media\":\"https://images.app.goo.gl/MFHFL1dtDiyR5nGq7\"},\"startDate\":\"1848\",\"headline\":\"Cost of Golf Balls\",\"text\":\"<p>In the mid-19th century, most people could only dream of playing golf. There were at the time fewer than 20 golf clubs around the world, with just three being outside Scotland. But that was not the only thing that prevented most people from playing golf. The high cost of golf essentials, especially of golf balls, made the game pretty much inaccessible to ordinary people.31 But that was soon about to change...<br>\\n </p>\\n\"},{\"asset\":{\"thumbnail\":{\"path\":\"images/thumbnail-5eab65cbe1adb.png\",\"mime\":\"image/png\",\"copyright\":{\"license\":\"U\"},\"width\":944,\"height\":890}},\"startDate\":\"1848\",\"endDate\":\"1890\",\"headline\":\"Gutty Golf Balls\",\"text\":\"<p>It wasn't until 1848 that Rev. Dr. Robert Adams began creating golf balls out of Gutta Percha \\\"Gutty\\\". The Gutty golf ball was created from the dried sap of the Sapodilla tree. It had a rubber-like feel and was formed into ball shapes by heating it up and shaping it while hot. </p>\\n\\n<p>The arrival of the gutta percha ball or \\\"gutty\\\", as it was called, revolutionized the game of golf and allowed its spread to the masses due to its affordability, playability and durability.</p>\\n\"},{\"asset\":{},\"startDate\":\"1899\",\"headline\":\"Hand Hammered Gutta Ball\",\"text\":\"<p>American businessman and inventor Coburn Haskell (1868-1922) got a (joint) patent from the United States Patent Office for the rubber-wound ball47 which would soon lead to another revolution in golf. Widely regarded as the first modern golf ball, Haskell\\u2019s ball was made of a solid rubber-wound core that was covered by guttapercha.</p>\\n\"}],\"language\":\"en\",\"headline\":\"The Evolution of the Golf Ball\",\"text\":\"<div>A golf ball is central to the game of golf. In fact, golf is all about the ball. Well, getting it into the hole in the ground!</div>\\n\",\"backgroundImage\":{\"path\":\"images/backgroundImage-5eab633e2e935.jpg\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":2139,\"height\":1179}}}",
"slug": "the-evolution-of-the-golf-ball",
"embed_type": "div",
"disable": 9,
"content_type": null,
"authors": null,
"source": null,
"year_from": null,
"year_to": null,
"license": "U",
"license_version": null,
"license_extras": null,
"author_comments": null,
"changes": null,
"default_language": null
},
"is_public": false,
"created_at": null,
"updated_at": null
},
{
"id": 7,
"playlist_id": 1,
"title": "Famous Golf Holes",
"type": "h5p",
"content": "",
"shared": false,
"order": 6,
"thumb_url": null,
"subject_id": null,
"education_level_id": null,
"h5p_content": {
"id": 76,
"created_at": "2020-05-01T05:20:54.000000Z",
"updated_at": "2020-05-01T05:20:54.000000Z",
"user_id": 1,
"title": "Famous Golf Holes",
"library_id": 60,
"parameters": "{\"cards\":[{\"answer\":\"7th Hole at Pebble Beach\",\"image\":{\"path\":\"images/image-5eabad2e71b62.jpg#tmp\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":991,\"height\":500},\"tip\":\"<p>Mickey Mantle<br>\\nAT&T Pro Am</p>\\n\"},{\"answer\":\"12th hole at Augusta National\",\"image\":{\"path\":\"images/image-5eabae675c197.jpg#tmp\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":847,\"height\":467},\"tip\":\"\"},{\"answer\":\"7th hole at TPC Sawgrass\",\"image\":{\"path\":\"images/image-5eabaec199254.jpg#tmp\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":1024,\"height\":570},\"tip\":\"\"},{\"answer\":\"The Old Course at St Andrews, #18\",\"image\":{\"path\":\"images/image-5eabafb2400f7.jpg#tmp\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":475,\"height\":367},\"tip\":\"\"},{\"answer\":\"Pine Valley Golf Club, #18\",\"image\":{\"path\":\"images/image-5eabb0ced23c3.jpg#tmp\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":960,\"height\":640},\"tip\":\"\"},{\"answer\":\"Celebrity Course - Indian Wells Golf Resort, #14\",\"image\":{\"path\":\"images/image-5eabb17c9a715.jpg#tmp\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":780,\"height\":490},\"tip\":\"\"}],\"progressText\":\"Card @card of @total\",\"next\":\"Next\",\"previous\":\"Previous\",\"checkAnswerText\":\"Check\",\"showSolutionsRequiresInput\":true,\"defaultAnswerText\":\"Your answer\",\"correctAnswerText\":\"Correct\",\"incorrectAnswerText\":\"Incorrect\",\"showSolutionText\":\"Correct answer\",\"results\":\"Results\",\"ofCorrect\":\"@score of @total correct\",\"showResults\":\"Show results\",\"answerShortText\":\"A:\",\"retry\":\"Retry\",\"caseSensitive\":false,\"cardAnnouncement\":\"Incorrect answer. Correct answer was @answer\",\"pageAnnouncement\":\"Page @current of @total\",\"description\":\"Match the Hole with the Course\"}",
"filtered": "{\"cards\":[{\"answer\":\"7th Hole at Pebble Beach\",\"image\":{\"path\":\"images/image-5eabad2e71b62.jpg\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":991,\"height\":500},\"tip\":\"<p>Mickey Mantle<br>\\nAT&T Pro Am</p>\\n\"},{\"answer\":\"12th hole at Augusta National\",\"image\":{\"path\":\"images/image-5eabae675c197.jpg\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":847,\"height\":467},\"tip\":\"\"},{\"answer\":\"7th hole at TPC Sawgrass\",\"image\":{\"path\":\"images/image-5eabaec199254.jpg\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":1024,\"height\":570},\"tip\":\"\"},{\"answer\":\"The Old Course at St Andrews, #18\",\"image\":{\"path\":\"images/image-5eabafb2400f7.jpg\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":475,\"height\":367},\"tip\":\"\"},{\"answer\":\"Pine Valley Golf Club, #18\",\"image\":{\"path\":\"images/image-5eabb0ced23c3.jpg\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":960,\"height\":640},\"tip\":\"\"},{\"answer\":\"Celebrity Course - Indian Wells Golf Resort, #14\",\"image\":{\"path\":\"images/image-5eabb17c9a715.jpg\",\"mime\":\"image/jpeg\",\"copyright\":{\"license\":\"U\"},\"width\":780,\"height\":490},\"tip\":\"\"}],\"progressText\":\"Card @card of @total\",\"next\":\"Next\",\"previous\":\"Previous\",\"checkAnswerText\":\"Check\",\"showSolutionsRequiresInput\":true,\"defaultAnswerText\":\"Your answer\",\"correctAnswerText\":\"Correct\",\"incorrectAnswerText\":\"Incorrect\",\"showSolutionText\":\"Correct answer\",\"results\":\"Results\",\"ofCorrect\":\"@score of @total correct\",\"showResults\":\"Show results\",\"answerShortText\":\"A:\",\"retry\":\"Retry\",\"caseSensitive\":false,\"cardAnnouncement\":\"Incorrect answer. Correct answer was @answer\",\"pageAnnouncement\":\"Page @current of @total\",\"description\":\"Match the Hole with the Course\"}",
"slug": "famous-golf-holes",
"embed_type": "div",
"disable": 9,
"content_type": null,
"authors": null,
"source": null,
"year_from": null,
"year_to": null,
"license": "U",
"license_version": null,
"license_extras": null,
"author_comments": null,
"changes": null,
"default_language": null
},
"is_public": false,
"created_at": null,
"updated_at": null
}
],
"created_at": null,
"updated_at": null
}
}
Received response:
Request failed with error:
Get Kaltura media entries list
Use Kaltura Session to get the api token. Using inside H5p Curriki Interactive Video
Example request:
curl --request POST \
"http://localhost:8000/api/v1/kaltura/get-media-entry-list" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"pageSize\": \"10\",
\"pageIndex\": \"0 on first page or 10 on next page and so on\",
\"searchText\": \"1_4mmw1lb3 or KalturaWebcasting\",
\"organization_id\": \"1\"
}"
const url = new URL(
"http://localhost:8000/api/v1/kaltura/get-media-entry-list"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"pageSize": "10",
"pageIndex": "0 on first page or 10 on next page and so on",
"searchText": "1_4mmw1lb3 or KalturaWebcasting",
"organization_id": "1"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/kaltura/get-media-entry-list',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'pageSize' => '10',
'pageIndex' => '0 on first page or 10 on next page and so on',
'searchText' => '1_4mmw1lb3 or KalturaWebcasting',
'organization_id' => '1',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (500):
{
"errors": [
"Unable to find Kaltura API settings!"
]
}
Example response (200):
{
"objects": [
{
"mediaType": 1,
"conversionQuality": "9569961",
"sourceType": "35",
"sourceVersion": null,
"searchProviderType": null,
"searchProviderId": null,
"creditUserName": null,
"creditUrl": null,
"mediaDate": null,
"dataUrl": "https://cdnapisec.kaltura.com/p/4515783/sp/451578300/playManifest/entryId/1_4mmw1lb3/format/url/protocol/https",
"flavorParamsIds": "0,487041,487051,487061,487071,487081,487091",
"isTrimDisabled": null,
"streams": null,
"plays": 0,
"views": 0,
"lastPlayedAt": null,
"width": null,
"height": null,
"duration": 85,
"msDuration": 85000,
"durationType": null,
"id": "1_4mmw1lb3",
"name": "Kaltura Webcasting Overview",
"description": "With Kaltura Webcasting, refocus webcasting on the user experience. Innovative design helps presenters shine, producers relax, and participants engage.",
"partnerId": 4515783,
"userId": "ranaasimsrwr365@gmail.com",
"creatorId": "ranaasimsrwr365@gmail.com",
"tags": "webcasting, live event, video solutions",
"adminTags": null,
"categories": "MediaSpace>site>galleries>Pleased to Meet You>Products>Webcasting",
"categoriesIds": "249032893",
"status": "2",
"moderationStatus": 6,
"moderationCount": 0,
"type": "1",
"createdAt": 1645693678,
"updatedAt": 1651131462,
"rank": 0,
"totalRank": 0,
"votes": 0,
"groupId": null,
"partnerData": null,
"downloadUrl": "https://cdnapisec.kaltura.com/p/4515783/sp/451578300/playManifest/entryId/1_4mmw1lb3/format/download/protocol/https/flavorParamIds/0",
"searchText": "_PAR_ONLY_ _4515783_ _MEDIA_TYPE_1| Kaltura Webcasting Overview webcasting, live event, video solutions With Kaltura Webcasting, refocus webcasting on the user experience. Innovative design helps presenters shine, producers relax, and participants engage. ",
"licenseType": -1,
"version": 0,
"thumbnailUrl": "https://cfvod.kaltura.com/p/4515783/sp/451578300/thumbnail/entry_id/1_4mmw1lb3/version/100001",
"accessControlId": 5527103,
"startDate": null,
"endDate": null,
"referenceId": null,
"replacingEntryId": null,
"replacedEntryId": null,
"replacementStatus": "0",
"partnerSortValue": 0,
"conversionProfileId": 9569961,
"redirectEntryId": null,
"rootEntryId": "0_5vsq9gqo",
"parentEntryId": null,
"operationAttributes": [],
"entitledUsersEdit": "",
"entitledUsersPublish": "",
"entitledUsersView": "",
"capabilities": "",
"templateEntryId": null,
"displayInSearch": 1,
"application": null,
"applicationVersion": null,
"blockAutoTranscript": false
},
{
"mediaType": 1,
"conversionQuality": "9569961",
"sourceType": "35",
"sourceVersion": null,
"searchProviderType": null,
"searchProviderId": null,
"creditUserName": null,
"creditUrl": null,
"mediaDate": null,
"dataUrl": "https://cdnapisec.kaltura.com/p/4515783/sp/451578300/playManifest/entryId/1_5cj84aa0/format/url/protocol/https",
"flavorParamsIds": "0,487041,487051,487061,487071,487091",
"isTrimDisabled": null,
"streams": null,
"plays": 0,
"views": 0,
"lastPlayedAt": null,
"width": null,
"height": null,
"duration": 121,
"msDuration": 121000,
"durationType": null,
"id": "1_5cj84aa0",
"name": "Video Solutions for Learning and Development",
"description": "Kaltura delivers learning and training to wherever employees are with our advanced video solutions for learning and development.",
"partnerId": 4515783,
"userId": "ranaasimsrwr365@gmail.com",
"creatorId": "ranaasimsrwr365@gmail.com",
"tags": "learning and development, corporate training",
"adminTags": null,
"categories": "MediaSpace>site>galleries>Pleased to Meet You>Video Use Cases",
"categoriesIds": "249032853",
"status": "2",
"moderationStatus": 6,
"moderationCount": 0,
"type": "1",
"createdAt": 1645693683,
"updatedAt": 1651131459,
"rank": 0,
"totalRank": 0,
"votes": 0,
"groupId": null,
"partnerData": null,
"downloadUrl": "https://cdnapisec.kaltura.com/p/4515783/sp/451578300/playManifest/entryId/1_5cj84aa0/format/download/protocol/https/flavorParamIds/0",
"searchText": "_PAR_ONLY_ _4515783_ _MEDIA_TYPE_1| Video Solutions for Learning and Development learning and development, corporate training Kaltura delivers learning and training to wherever employees are with our advanced video solutions for learning and development. ",
"licenseType": -1,
"version": 0,
"thumbnailUrl": "https://cfvod.kaltura.com/p/4515783/sp/451578300/thumbnail/entry_id/1_5cj84aa0/version/100011",
"accessControlId": 5527103,
"startDate": null,
"endDate": null,
"referenceId": null,
"replacingEntryId": null,
"replacedEntryId": null,
"replacementStatus": "0",
"partnerSortValue": 0,
"conversionProfileId": 9569961,
"redirectEntryId": null,
"rootEntryId": "0_bhk14hk5",
"parentEntryId": null,
"operationAttributes": [],
"entitledUsersEdit": "",
"entitledUsersPublish": "",
"entitledUsersView": "",
"capabilities": "",
"templateEntryId": null,
"displayInSearch": 1,
"application": null,
"applicationVersion": null,
"blockAutoTranscript": false
},
{
"mediaType": 1,
"conversionQuality": "8053211",
"sourceType": "35",
"sourceVersion": null,
"searchProviderType": null,
"searchProviderId": null,
"creditUserName": null,
"creditUrl": null,
"mediaDate": null,
"dataUrl": "https://cdnapisec.kaltura.com/p/4515783/sp/451578300/playManifest/entryId/1_bn0hb7i9/format/url/protocol/https",
"flavorParamsIds": "0,487041,487051,487061,487071,487081,487091",
"isTrimDisabled": null,
"streams": null,
"plays": 0,
"views": 0,
"lastPlayedAt": null,
"width": null,
"height": null,
"duration": 199,
"msDuration": 199000,
"durationType": null,
"id": "1_bn0hb7i9",
"name": "Tips & Tricks for Better Videos - Chapter 3 - Recording Audio",
"description": "In this video we cover how to get the best quality audio. Which mics to use, that aren't too expensive, how to leverage music and more.",
"partnerId": 4515783,
"userId": "ranaasimsrwr365@gmail.com",
"creatorId": "ranaasimsrwr365@gmail.com",
"tags": "musical recordings, telephone, household appliances and consumer electronics, electromechanical device, caption complete, microphone, consumer electronic and optical products, music, video tips, electronics & manufacture of computer, video solutions, sound reproduction, electrical mechanics, laptops, effects, entertainment industry, training videos, video tutorials, artistic expressions and media, audio devices, video training, audio, music industry",
"adminTags": "",
"categories": "Samples>Sample Videos,MediaSpace>site>galleries>Creating the Perfect Video,MediaSpace>site>channels>Employee Engagement",
"categoriesIds": "249032713,249032823,249032843",
"status": "2",
"moderationStatus": 6,
"moderationCount": 0,
"type": "1",
"createdAt": 1645693675,
"updatedAt": 1651131463,
"rank": 0,
"totalRank": 0,
"votes": 0,
"groupId": null,
"partnerData": null,
"downloadUrl": "https://cdnapisec.kaltura.com/p/4515783/sp/451578300/playManifest/entryId/1_bn0hb7i9/format/download/protocol/https/flavorParamIds/0",
"searchText": "_PAR_ONLY_ _4515783_ _MEDIA_TYPE_1| Tips & Tricks for Better Videos - Chapter 3 - Recording Audio musical recordings, telephone, household appliances and consumer electronics, electromechanical device, caption complete, microphone, consumer electronic and optical products, music, video tips, electronics & manufacture of computer, video solutions, sound reproduction, electrical mechanics, laptops, effects, entertainment industry, training videos, video tutorials, artistic expressions and media, audio devices, video training, audio, music industry In this video we cover how to get the best quality audio. Which mics to use, that arent too expensive, how to leverage music and more. ",
"licenseType": -1,
"version": 0,
"thumbnailUrl": "https://cfvod.kaltura.com/p/4515783/sp/451578300/thumbnail/entry_id/1_bn0hb7i9/version/100011",
"accessControlId": 5527103,
"startDate": null,
"endDate": null,
"referenceId": null,
"replacingEntryId": null,
"replacedEntryId": null,
"replacementStatus": "0",
"partnerSortValue": 25,
"conversionProfileId": 8053211,
"redirectEntryId": null,
"rootEntryId": "0_5eej5a3i",
"parentEntryId": null,
"operationAttributes": [],
"entitledUsersEdit": "",
"entitledUsersPublish": "",
"entitledUsersView": "",
"capabilities": "",
"templateEntryId": null,
"displayInSearch": 1,
"application": null,
"applicationVersion": null,
"blockAutoTranscript": false
},
{
"mediaType": 1,
"conversionQuality": "9569961",
"sourceType": "35",
"sourceVersion": null,
"searchProviderType": null,
"searchProviderId": null,
"creditUserName": null,
"creditUrl": null,
"mediaDate": null,
"dataUrl": "https://cdnapisec.kaltura.com/p/4515783/sp/451578300/playManifest/entryId/1_cald90pl/format/url/protocol/https",
"flavorParamsIds": "0,487041,487051,487061,487071,487091",
"isTrimDisabled": null,
"streams": null,
"plays": 0,
"views": 0,
"lastPlayedAt": null,
"width": null,
"height": null,
"duration": 136,
"msDuration": 136000,
"durationType": null,
"id": "1_cald90pl",
"name": "Hello, Watch Me First!",
"description": "A short video intro to get you started on your free trial.",
"partnerId": 4515783,
"userId": "ranaasimsrwr365@gmail.com",
"creatorId": "ranaasimsrwr365@gmail.com",
"tags": "free trial, welcome, get started",
"adminTags": "default_playlist",
"categories": "MediaSpace>site>galleries>Pleased to Meet You",
"categoriesIds": "249032813",
"status": "2",
"moderationStatus": 6,
"moderationCount": 0,
"type": "1",
"createdAt": 1645693674,
"updatedAt": 1651131461,
"rank": 0,
"totalRank": 0,
"votes": 0,
"groupId": null,
"partnerData": null,
"downloadUrl": "https://cdnapisec.kaltura.com/p/4515783/sp/451578300/playManifest/entryId/1_cald90pl/format/download/protocol/https/flavorParamIds/0",
"searchText": "_PAR_ONLY_ _4515783_ _MEDIA_TYPE_1| Hello, Watch Me First! free trial, welcome, get started A short video intro to get you started on your free trial. default_playlist",
"licenseType": -1,
"version": 0,
"thumbnailUrl": "https://cfvod.kaltura.com/p/4515783/sp/451578300/thumbnail/entry_id/1_cald90pl/version/100011",
"accessControlId": 5527103,
"startDate": null,
"endDate": null,
"referenceId": null,
"replacingEntryId": null,
"replacedEntryId": null,
"replacementStatus": "0",
"partnerSortValue": 30,
"conversionProfileId": 9569961,
"redirectEntryId": null,
"rootEntryId": "0_4esg1tux",
"parentEntryId": null,
"operationAttributes": [],
"entitledUsersEdit": "",
"entitledUsersPublish": "",
"entitledUsersView": "",
"capabilities": "",
"templateEntryId": null,
"displayInSearch": 1,
"application": null,
"applicationVersion": null,
"blockAutoTranscript": false
},
{
"mediaType": 1,
"conversionQuality": "8053211",
"sourceType": "35",
"sourceVersion": null,
"searchProviderType": null,
"searchProviderId": null,
"creditUserName": null,
"creditUrl": null,
"mediaDate": null,
"dataUrl": "https://cdnapisec.kaltura.com/p/4515783/sp/451578300/playManifest/entryId/1_ffyypgpa/format/url/protocol/https",
"flavorParamsIds": "0,487041,487051,487061,487071,487081,487091",
"isTrimDisabled": null,
"streams": null,
"plays": 0,
"views": 0,
"lastPlayedAt": null,
"width": null,
"height": null,
"duration": 198,
"msDuration": 198000,
"durationType": null,
"id": "1_ffyypgpa",
"name": "Tips & Tricks for Better Videos - Chapter 1 - Preparation",
"description": "Learn how to prepare for creating your own video content. We cover preparing your script, how to position your camera, and even what or what not to wear.",
"partnerId": 4515783,
"userId": "ranaasimsrwr365@gmail.com",
"creatorId": "ranaasimsrwr365@gmail.com",
"tags": "jewellery, telephone, caption complete, cameras, music, video tips, telecommunications equipment, electronical devices, video solutions, web camera, bracelet (jewelry), photography, effects, photography products and equipment, training videos, computer camera, video tutorials, artistic expressions and media, computers, computer accessories, information technology supplies, video training",
"adminTags": "",
"categories": "Samples>Sample Videos,MediaSpace>site>galleries>Creating the Perfect Video,MediaSpace>site>channels>Employee Engagement",
"categoriesIds": "249032713,249032823,249032843",
"status": "2",
"moderationStatus": 6,
"moderationCount": 0,
"type": "1",
"createdAt": 1645693680,
"updatedAt": 1651131463,
"rank": 0,
"totalRank": 0,
"votes": 0,
"groupId": null,
"partnerData": null,
"downloadUrl": "https://cdnapisec.kaltura.com/p/4515783/sp/451578300/playManifest/entryId/1_ffyypgpa/format/download/protocol/https/flavorParamIds/0",
"searchText": "_PAR_ONLY_ _4515783_ _MEDIA_TYPE_1| Tips & Tricks for Better Videos - Chapter 1 - Preparation jewellery, telephone, caption complete, cameras, music, video tips, telecommunications equipment, electronical devices, video solutions, web camera, bracelet (jewelry), photography, effects, photography products and equipment, training videos, computer camera, video tutorials, artistic expressions and media, computers, computer accessories, information technology supplies, video training Learn how to prepare for creating your own video content. We cover preparing your script, how to position your camera, and even what or what not to wear. ",
"licenseType": -1,
"version": 0,
"thumbnailUrl": "https://cfvod.kaltura.com/p/4515783/sp/451578300/thumbnail/entry_id/1_ffyypgpa/version/100011",
"accessControlId": 5527103,
"startDate": null,
"endDate": null,
"referenceId": null,
"replacingEntryId": null,
"replacedEntryId": null,
"replacementStatus": "0",
"partnerSortValue": 35,
"conversionProfileId": 8053211,
"redirectEntryId": null,
"rootEntryId": "0_adse5iqv",
"parentEntryId": null,
"operationAttributes": [],
"entitledUsersEdit": "",
"entitledUsersPublish": "",
"entitledUsersView": "",
"capabilities": "",
"templateEntryId": null,
"displayInSearch": 1,
"application": null,
"applicationVersion": null,
"blockAutoTranscript": false
}
],
"totalCount": 14
}
Received response:
Request failed with error:
Get My Vimeo Videos List
Get the specified Vimeo API setting data. Using inside H5p Curriki Interactive Video
Example request:
curl --request POST \
"http://localhost:8000/api/v1/vimeo/get-my-video-list" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"page\": \"1\",
\"per_page\": \"10\",
\"query\": \"696855454 or Wildlife Windows\",
\"organization_id\": \"1\"
}"
const url = new URL(
"http://localhost:8000/api/v1/vimeo/get-my-video-list"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"page": "1",
"per_page": "10",
"query": "696855454 or Wildlife Windows",
"organization_id": "1"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/vimeo/get-my-video-list',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'page' => '1',
'per_page' => '10',
'query' => '696855454 or Wildlife Windows',
'organization_id' => '1',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (500):
{
"errors": [
"Unable to find Vimeo API settings!"
]
}
Example response (200):
{
"total": 14,
"page": 1,
"per_page": 10,
"paging": {
"next": "/me/videos?page=2&per_page=10",
"previous": null,
"first": "/me/videos?page=1&per_page=10",
"last": "/me/videos?page=2&per_page=10"
},
"data": [
{
"uri": "/videos/696855454",
"name": "Wildlife Windows 7 Sample Video.mp4",
"description": null,
"type": "video",
"link": "https://vimeo.com/696855454",
"player_embed_url": "https://player.vimeo.com/video/696855454?h=54484e455f",
"duration": 30,
"width": 1280,
"language": null,
"height": 720,
"embed": {
"html": "<iframe src=\"https://player.vimeo.com/video/696855454?h=54484e455f&badge=0&autopause=0&player_id=0&app_id=246316\" width=\"1280\" height=\"720\" frameborder=\"0\" allow=\"autoplay; fullscreen; picture-in-picture\" allowfullscreen title=\"Wildlife Windows 7 Sample Video.mp4\"></iframe>",
"badges": {
"hdr": false,
"live": {
"streaming": false,
"archived": false
},
"staff_pick": {
"normal": false,
"best_of_the_month": false,
"best_of_the_year": false,
"premiere": false
},
"vod": false,
"weekend_challenge": false
}
},
"created_time": "2022-04-07T07:09:16+00:00",
"modified_time": "2022-05-24T10:30:22+00:00",
"release_time": "2022-04-07T07:09:16+00:00",
"content_rating": [
"unrated"
],
"content_rating_class": "unrated",
"rating_mod_locked": false,
"license": null,
"privacy": {
"view": "anybody",
"embed": "public",
"download": false,
"add": true,
"comments": "anybody"
},
"pictures": {
"uri": "/videos/696855454/pictures/1409497762",
"active": true,
"type": "custom",
"base_link": "https://i.vimeocdn.com/video/1409497762-5a97be163b69d9ef3cde0cc641124e1b88875b7775699ff06ce485cb4c6b0a36-d",
"sizes": [
{
"width": 100,
"height": 75,
"link": "https://i.vimeocdn.com/video/1409497762-5a97be163b69d9ef3cde0cc641124e1b88875b7775699ff06ce485cb4c6b0a36-d_100x75?r=pad",
"link_with_play_button": "https://i.vimeocdn.com/filter/overlay?src0=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F1409497762-5a97be163b69d9ef3cde0cc641124e1b88875b7775699ff06ce485cb4c6b0a36-d_100x75&src1=http%3A%2F%2Ff.vimeocdn.com%2Fp%2Fimages%2Fcrawler_play.png"
},
{
"width": 200,
"height": 150,
"link": "https://i.vimeocdn.com/video/1409497762-5a97be163b69d9ef3cde0cc641124e1b88875b7775699ff06ce485cb4c6b0a36-d_200x150?r=pad",
"link_with_play_button": "https://i.vimeocdn.com/filter/overlay?src0=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F1409497762-5a97be163b69d9ef3cde0cc641124e1b88875b7775699ff06ce485cb4c6b0a36-d_200x150&src1=http%3A%2F%2Ff.vimeocdn.com%2Fp%2Fimages%2Fcrawler_play.png"
},
{
"width": 295,
"height": 166,
"link": "https://i.vimeocdn.com/video/1409497762-5a97be163b69d9ef3cde0cc641124e1b88875b7775699ff06ce485cb4c6b0a36-d_295x166?r=pad",
"link_with_play_button": "https://i.vimeocdn.com/filter/overlay?src0=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F1409497762-5a97be163b69d9ef3cde0cc641124e1b88875b7775699ff06ce485cb4c6b0a36-d_295x166&src1=http%3A%2F%2Ff.vimeocdn.com%2Fp%2Fimages%2Fcrawler_play.png"
},
{
"width": 640,
"height": 360,
"link": "https://i.vimeocdn.com/video/1409497762-5a97be163b69d9ef3cde0cc641124e1b88875b7775699ff06ce485cb4c6b0a36-d_640x360?r=pad",
"link_with_play_button": "https://i.vimeocdn.com/filter/overlay?src0=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F1409497762-5a97be163b69d9ef3cde0cc641124e1b88875b7775699ff06ce485cb4c6b0a36-d_640x360&src1=http%3A%2F%2Ff.vimeocdn.com%2Fp%2Fimages%2Fcrawler_play.png"
},
{
"width": 960,
"height": 540,
"link": "https://i.vimeocdn.com/video/1409497762-5a97be163b69d9ef3cde0cc641124e1b88875b7775699ff06ce485cb4c6b0a36-d_960x540?r=pad",
"link_with_play_button": "https://i.vimeocdn.com/filter/overlay?src0=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F1409497762-5a97be163b69d9ef3cde0cc641124e1b88875b7775699ff06ce485cb4c6b0a36-d_960x540&src1=http%3A%2F%2Ff.vimeocdn.com%2Fp%2Fimages%2Fcrawler_play.png"
},
{
"width": 1280,
"height": 720,
"link": "https://i.vimeocdn.com/video/1409497762-5a97be163b69d9ef3cde0cc641124e1b88875b7775699ff06ce485cb4c6b0a36-d_1280x720?r=pad",
"link_with_play_button": "https://i.vimeocdn.com/filter/overlay?src0=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F1409497762-5a97be163b69d9ef3cde0cc641124e1b88875b7775699ff06ce485cb4c6b0a36-d_1280x720&src1=http%3A%2F%2Ff.vimeocdn.com%2Fp%2Fimages%2Fcrawler_play.png"
},
{
"width": 1920,
"height": 1080,
"link": "https://i.vimeocdn.com/video/1409497762-5a97be163b69d9ef3cde0cc641124e1b88875b7775699ff06ce485cb4c6b0a36-d_1920x1080?r=pad",
"link_with_play_button": "https://i.vimeocdn.com/filter/overlay?src0=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F1409497762-5a97be163b69d9ef3cde0cc641124e1b88875b7775699ff06ce485cb4c6b0a36-d_1920x1080&src1=http%3A%2F%2Ff.vimeocdn.com%2Fp%2Fimages%2Fcrawler_play.png"
}
],
"resource_key": "451234da6cfb1f9171c0272bc443d4aac9ee881c",
"default_picture": false
},
"tags": [],
"stats": {
"plays": null
},
"categories": [],
"uploader": {
"pictures": {
"uri": "/users/169594686/pictures/69008030",
"active": true,
"type": "custom",
"base_link": "https://i.vimeocdn.com/portrait/69008030",
"sizes": [
{
"width": 30,
"height": 30,
"link": "https://i.vimeocdn.com/portrait/69008030_30x30"
},
{
"width": 72,
"height": 72,
"link": "https://i.vimeocdn.com/portrait/69008030_72x72"
},
{
"width": 75,
"height": 75,
"link": "https://i.vimeocdn.com/portrait/69008030_75x75"
},
{
"width": 100,
"height": 100,
"link": "https://i.vimeocdn.com/portrait/69008030_100x100"
},
{
"width": 144,
"height": 144,
"link": "https://i.vimeocdn.com/portrait/69008030_144x144"
},
{
"width": 216,
"height": 216,
"link": "https://i.vimeocdn.com/portrait/69008030_216x216"
},
{
"width": 288,
"height": 288,
"link": "https://i.vimeocdn.com/portrait/69008030_288x288"
},
{
"width": 300,
"height": 300,
"link": "https://i.vimeocdn.com/portrait/69008030_300x300"
},
{
"width": 360,
"height": 360,
"link": "https://i.vimeocdn.com/portrait/69008030_360x360"
}
],
"resource_key": "2d541ded34e5594cb359b509b2adbd4c7083f0d9",
"default_picture": false
}
},
"metadata": {
"connections": {
"comments": {
"uri": "/videos/696855454/comments",
"options": [
"GET"
],
"total": 0
},
"credits": {
"uri": "/videos/696855454/credits",
"options": [
"GET",
"POST"
],
"total": 0
},
"likes": {
"uri": "/videos/696855454/likes",
"options": [
"GET"
],
"total": 0
},
"pictures": {
"uri": "/videos/696855454/pictures",
"options": [
"GET",
"POST"
],
"total": 1
},
"texttracks": {
"uri": "/videos/696855454/texttracks",
"options": [
"GET",
"POST"
],
"total": 0
},
"related": {
"uri": "/me/videos?page=1&per_page=10&offset=1",
"options": [
"GET"
]
},
"recommendations": {
"uri": "/videos/696855454/recommendations",
"options": [
"GET"
]
}
},
"interactions": {
"report": {
"uri": "/videos/696855454/report",
"options": [
"POST"
],
"reason": [
"pornographic",
"harassment",
"ripoff",
"incorrect rating",
"spam",
"causes harm",
"csam"
]
}
},
"is_vimeo_create": false,
"is_screen_record": false
},
"user": {
"uri": "/users/169594686",
"name": "Asim Sarwar",
"link": "https://vimeo.com/user169594686",
"capabilities": {
"hasLiveSubscription": false,
"hasEnterpriseLihp": false,
"hasSvvTimecodedComments": false
},
"location": "",
"gender": "",
"bio": null,
"short_bio": null,
"created_time": "2022-03-15T09:13:35+00:00",
"pictures": {
"uri": "/users/169594686/pictures/69008030",
"active": true,
"type": "custom",
"base_link": "https://i.vimeocdn.com/portrait/69008030",
"sizes": [
{
"width": 30,
"height": 30,
"link": "https://i.vimeocdn.com/portrait/69008030_30x30"
},
{
"width": 72,
"height": 72,
"link": "https://i.vimeocdn.com/portrait/69008030_72x72"
},
{
"width": 75,
"height": 75,
"link": "https://i.vimeocdn.com/portrait/69008030_75x75"
},
{
"width": 100,
"height": 100,
"link": "https://i.vimeocdn.com/portrait/69008030_100x100"
},
{
"width": 144,
"height": 144,
"link": "https://i.vimeocdn.com/portrait/69008030_144x144"
},
{
"width": 216,
"height": 216,
"link": "https://i.vimeocdn.com/portrait/69008030_216x216"
},
{
"width": 288,
"height": 288,
"link": "https://i.vimeocdn.com/portrait/69008030_288x288"
},
{
"width": 300,
"height": 300,
"link": "https://i.vimeocdn.com/portrait/69008030_300x300"
},
{
"width": 360,
"height": 360,
"link": "https://i.vimeocdn.com/portrait/69008030_360x360"
}
],
"resource_key": "2d541ded34e5594cb359b509b2adbd4c7083f0d9",
"default_picture": false
},
"websites": [],
"metadata": {
"connections": {
"albums": {
"uri": "/users/169594686/albums",
"options": [
"GET"
],
"total": 0
},
"appearances": {
"uri": "/users/169594686/appearances",
"options": [
"GET"
],
"total": 0
},
"channels": {
"uri": "/users/169594686/channels",
"options": [
"GET"
],
"total": 0
},
"feed": {
"uri": "/users/169594686/feed",
"options": [
"GET"
]
},
"followers": {
"uri": "/users/169594686/followers",
"options": [
"GET"
],
"total": 0
},
"following": {
"uri": "/users/169594686/following",
"options": [
"GET"
],
"total": 0
},
"groups": {
"uri": "/users/169594686/groups",
"options": [
"GET"
],
"total": 0
},
"likes": {
"uri": "/users/169594686/likes",
"options": [
"GET"
],
"total": 0
},
"membership": {
"uri": "/users/169594686/membership/",
"options": [
"PATCH"
]
},
"moderated_channels": {
"uri": "/users/169594686/channels?filter=moderated",
"options": [
"GET"
],
"total": 0
},
"portfolios": {
"uri": "/users/169594686/portfolios",
"options": [
"GET"
],
"total": 0
},
"videos": {
"uri": "/users/169594686/videos",
"options": [
"GET"
],
"total": 14
},
"shared": {
"uri": "/users/169594686/shared/videos",
"options": [
"GET"
],
"total": 0
},
"pictures": {
"uri": "/users/169594686/pictures",
"options": [
"GET",
"POST"
],
"total": 1
},
"folders_root": {
"uri": "/users/169594686/folders/root",
"options": [
"GET"
]
},
"teams": {
"uri": "/users/169594686/teams",
"options": [
"GET"
],
"total": 1
}
}
},
"location_details": {
"formatted_address": "",
"latitude": null,
"longitude": null,
"city": null,
"state": null,
"neighborhood": null,
"sub_locality": null,
"state_iso_code": null,
"country": null,
"country_iso_code": null
},
"skills": [],
"available_for_hire": false,
"can_work_remotely": false,
"resource_key": "e3dd8937e5113a36f98fcba2a7c92a61e05bfb75",
"account": "basic"
},
"play": {
"status": "playable"
},
"app": {
"name": "Parallel Uploader",
"uri": "/apps/87099"
},
"status": "available",
"resource_key": "87d17a80bcbefb541d812c1051f7199b7a332112",
"upload": null,
"transcode": null,
"is_playable": true,
"has_audio": true
},
{
"uri": "/videos/696854832",
"name": "Demo Background Sample Video.mp4",
"description": null,
"type": "video",
"link": "https://vimeo.com/696854832",
"player_embed_url": "https://player.vimeo.com/video/696854832?h=34771793de",
"duration": 18,
"width": 1280,
"language": null,
"height": 720,
"embed": {
"html": "<iframe src=\"https://player.vimeo.com/video/696854832?h=34771793de&badge=0&autopause=0&player_id=0&app_id=246316\" width=\"1280\" height=\"720\" frameborder=\"0\" allow=\"autoplay; fullscreen; picture-in-picture\" allowfullscreen title=\"Demo Background Sample Video.mp4\"></iframe>",
"badges": {
"hdr": false,
"live": {
"streaming": false,
"archived": false
},
"staff_pick": {
"normal": false,
"best_of_the_month": false,
"best_of_the_year": false,
"premiere": false
},
"vod": false,
"weekend_challenge": false
}
},
"created_time": "2022-04-07T07:07:05+00:00",
"modified_time": "2022-04-07T07:07:45+00:00",
"release_time": "2022-04-07T07:07:05+00:00",
"content_rating": [
"unrated"
],
"content_rating_class": "unrated",
"rating_mod_locked": false,
"license": null,
"privacy": {
"view": "anybody",
"embed": "public",
"download": false,
"add": true,
"comments": "anybody"
},
"pictures": {
"uri": "/videos/696854832/pictures/1409496070",
"active": true,
"type": "custom",
"base_link": "https://i.vimeocdn.com/video/1409496070-368a0c9c98e22b6d88b487cb55756c15a0fc205a035c8d2a4ed535651414ca6b-d",
"sizes": [
{
"width": 100,
"height": 75,
"link": "https://i.vimeocdn.com/video/1409496070-368a0c9c98e22b6d88b487cb55756c15a0fc205a035c8d2a4ed535651414ca6b-d_100x75?r=pad",
"link_with_play_button": "https://i.vimeocdn.com/filter/overlay?src0=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F1409496070-368a0c9c98e22b6d88b487cb55756c15a0fc205a035c8d2a4ed535651414ca6b-d_100x75&src1=http%3A%2F%2Ff.vimeocdn.com%2Fp%2Fimages%2Fcrawler_play.png"
},
{
"width": 200,
"height": 150,
"link": "https://i.vimeocdn.com/video/1409496070-368a0c9c98e22b6d88b487cb55756c15a0fc205a035c8d2a4ed535651414ca6b-d_200x150?r=pad",
"link_with_play_button": "https://i.vimeocdn.com/filter/overlay?src0=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F1409496070-368a0c9c98e22b6d88b487cb55756c15a0fc205a035c8d2a4ed535651414ca6b-d_200x150&src1=http%3A%2F%2Ff.vimeocdn.com%2Fp%2Fimages%2Fcrawler_play.png"
},
{
"width": 295,
"height": 166,
"link": "https://i.vimeocdn.com/video/1409496070-368a0c9c98e22b6d88b487cb55756c15a0fc205a035c8d2a4ed535651414ca6b-d_295x166?r=pad",
"link_with_play_button": "https://i.vimeocdn.com/filter/overlay?src0=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F1409496070-368a0c9c98e22b6d88b487cb55756c15a0fc205a035c8d2a4ed535651414ca6b-d_295x166&src1=http%3A%2F%2Ff.vimeocdn.com%2Fp%2Fimages%2Fcrawler_play.png"
},
{
"width": 640,
"height": 360,
"link": "https://i.vimeocdn.com/video/1409496070-368a0c9c98e22b6d88b487cb55756c15a0fc205a035c8d2a4ed535651414ca6b-d_640x360?r=pad",
"link_with_play_button": "https://i.vimeocdn.com/filter/overlay?src0=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F1409496070-368a0c9c98e22b6d88b487cb55756c15a0fc205a035c8d2a4ed535651414ca6b-d_640x360&src1=http%3A%2F%2Ff.vimeocdn.com%2Fp%2Fimages%2Fcrawler_play.png"
},
{
"width": 960,
"height": 540,
"link": "https://i.vimeocdn.com/video/1409496070-368a0c9c98e22b6d88b487cb55756c15a0fc205a035c8d2a4ed535651414ca6b-d_960x540?r=pad",
"link_with_play_button": "https://i.vimeocdn.com/filter/overlay?src0=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F1409496070-368a0c9c98e22b6d88b487cb55756c15a0fc205a035c8d2a4ed535651414ca6b-d_960x540&src1=http%3A%2F%2Ff.vimeocdn.com%2Fp%2Fimages%2Fcrawler_play.png"
},
{
"width": 1280,
"height": 720,
"link": "https://i.vimeocdn.com/video/1409496070-368a0c9c98e22b6d88b487cb55756c15a0fc205a035c8d2a4ed535651414ca6b-d_1280x720?r=pad",
"link_with_play_button": "https://i.vimeocdn.com/filter/overlay?src0=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F1409496070-368a0c9c98e22b6d88b487cb55756c15a0fc205a035c8d2a4ed535651414ca6b-d_1280x720&src1=http%3A%2F%2Ff.vimeocdn.com%2Fp%2Fimages%2Fcrawler_play.png"
},
{
"width": 1920,
"height": 1080,
"link": "https://i.vimeocdn.com/video/1409496070-368a0c9c98e22b6d88b487cb55756c15a0fc205a035c8d2a4ed535651414ca6b-d_1920x1080?r=pad",
"link_with_play_button": "https://i.vimeocdn.com/filter/overlay?src0=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F1409496070-368a0c9c98e22b6d88b487cb55756c15a0fc205a035c8d2a4ed535651414ca6b-d_1920x1080&src1=http%3A%2F%2Ff.vimeocdn.com%2Fp%2Fimages%2Fcrawler_play.png"
}
],
"resource_key": "10bdc27d80250e07a931d93ea00bc0409aceb420",
"default_picture": false
},
"tags": [],
"stats": {
"plays": null
},
"categories": [],
"uploader": {
"pictures": {
"uri": "/users/169594686/pictures/69008030",
"active": true,
"type": "custom",
"base_link": "https://i.vimeocdn.com/portrait/69008030",
"sizes": [
{
"width": 30,
"height": 30,
"link": "https://i.vimeocdn.com/portrait/69008030_30x30"
},
{
"width": 72,
"height": 72,
"link": "https://i.vimeocdn.com/portrait/69008030_72x72"
},
{
"width": 75,
"height": 75,
"link": "https://i.vimeocdn.com/portrait/69008030_75x75"
},
{
"width": 100,
"height": 100,
"link": "https://i.vimeocdn.com/portrait/69008030_100x100"
},
{
"width": 144,
"height": 144,
"link": "https://i.vimeocdn.com/portrait/69008030_144x144"
},
{
"width": 216,
"height": 216,
"link": "https://i.vimeocdn.com/portrait/69008030_216x216"
},
{
"width": 288,
"height": 288,
"link": "https://i.vimeocdn.com/portrait/69008030_288x288"
},
{
"width": 300,
"height": 300,
"link": "https://i.vimeocdn.com/portrait/69008030_300x300"
},
{
"width": 360,
"height": 360,
"link": "https://i.vimeocdn.com/portrait/69008030_360x360"
}
],
"resource_key": "2d541ded34e5594cb359b509b2adbd4c7083f0d9",
"default_picture": false
}
},
"metadata": {
"connections": {
"comments": {
"uri": "/videos/696854832/comments",
"options": [
"GET"
],
"total": 0
},
"credits": {
"uri": "/videos/696854832/credits",
"options": [
"GET",
"POST"
],
"total": 0
},
"likes": {
"uri": "/videos/696854832/likes",
"options": [
"GET"
],
"total": 0
},
"pictures": {
"uri": "/videos/696854832/pictures",
"options": [
"GET",
"POST"
],
"total": 1
},
"texttracks": {
"uri": "/videos/696854832/texttracks",
"options": [
"GET",
"POST"
],
"total": 0
},
"related": {
"uri": "/me/videos?page=1&per_page=10&offset=2",
"options": [
"GET"
]
},
"recommendations": {
"uri": "/videos/696854832/recommendations",
"options": [
"GET"
]
}
},
"interactions": {
"report": {
"uri": "/videos/696854832/report",
"options": [
"POST"
],
"reason": [
"pornographic",
"harassment",
"ripoff",
"incorrect rating",
"spam",
"causes harm",
"csam"
]
}
},
"is_vimeo_create": false,
"is_screen_record": false
},
"user": {
"uri": "/users/169594686",
"name": "Asim Sarwar",
"link": "https://vimeo.com/user169594686",
"capabilities": {
"hasLiveSubscription": false,
"hasEnterpriseLihp": false,
"hasSvvTimecodedComments": false
},
"location": "",
"gender": "",
"bio": null,
"short_bio": null,
"created_time": "2022-03-15T09:13:35+00:00",
"pictures": {
"uri": "/users/169594686/pictures/69008030",
"active": true,
"type": "custom",
"base_link": "https://i.vimeocdn.com/portrait/69008030",
"sizes": [
{
"width": 30,
"height": 30,
"link": "https://i.vimeocdn.com/portrait/69008030_30x30"
},
{
"width": 72,
"height": 72,
"link": "https://i.vimeocdn.com/portrait/69008030_72x72"
},
{
"width": 75,
"height": 75,
"link": "https://i.vimeocdn.com/portrait/69008030_75x75"
},
{
"width": 100,
"height": 100,
"link": "https://i.vimeocdn.com/portrait/69008030_100x100"
},
{
"width": 144,
"height": 144,
"link": "https://i.vimeocdn.com/portrait/69008030_144x144"
},
{
"width": 216,
"height": 216,
"link": "https://i.vimeocdn.com/portrait/69008030_216x216"
},
{
"width": 288,
"height": 288,
"link": "https://i.vimeocdn.com/portrait/69008030_288x288"
},
{
"width": 300,
"height": 300,
"link": "https://i.vimeocdn.com/portrait/69008030_300x300"
},
{
"width": 360,
"height": 360,
"link": "https://i.vimeocdn.com/portrait/69008030_360x360"
}
],
"resource_key": "2d541ded34e5594cb359b509b2adbd4c7083f0d9",
"default_picture": false
},
"websites": [],
"metadata": {
"connections": {
"albums": {
"uri": "/users/169594686/albums",
"options": [
"GET"
],
"total": 0
},
"appearances": {
"uri": "/users/169594686/appearances",
"options": [
"GET"
],
"total": 0
},
"channels": {
"uri": "/users/169594686/channels",
"options": [
"GET"
],
"total": 0
},
"feed": {
"uri": "/users/169594686/feed",
"options": [
"GET"
]
},
"followers": {
"uri": "/users/169594686/followers",
"options": [
"GET"
],
"total": 0
},
"following": {
"uri": "/users/169594686/following",
"options": [
"GET"
],
"total": 0
},
"groups": {
"uri": "/users/169594686/groups",
"options": [
"GET"
],
"total": 0
},
"likes": {
"uri": "/users/169594686/likes",
"options": [
"GET"
],
"total": 0
},
"membership": {
"uri": "/users/169594686/membership/",
"options": [
"PATCH"
]
},
"moderated_channels": {
"uri": "/users/169594686/channels?filter=moderated",
"options": [
"GET"
],
"total": 0
},
"portfolios": {
"uri": "/users/169594686/portfolios",
"options": [
"GET"
],
"total": 0
},
"videos": {
"uri": "/users/169594686/videos",
"options": [
"GET"
],
"total": 14
},
"shared": {
"uri": "/users/169594686/shared/videos",
"options": [
"GET"
],
"total": 0
},
"pictures": {
"uri": "/users/169594686/pictures",
"options": [
"GET",
"POST"
],
"total": 1
},
"folders_root": {
"uri": "/users/169594686/folders/root",
"options": [
"GET"
]
},
"teams": {
"uri": "/users/169594686/teams",
"options": [
"GET"
],
"total": 1
}
}
},
"location_details": {
"formatted_address": "",
"latitude": null,
"longitude": null,
"city": null,
"state": null,
"neighborhood": null,
"sub_locality": null,
"state_iso_code": null,
"country": null,
"country_iso_code": null
},
"skills": [],
"available_for_hire": false,
"can_work_remotely": false,
"resource_key": "e3dd8937e5113a36f98fcba2a7c92a61e05bfb75",
"account": "basic"
},
"play": {
"status": "playable"
},
"app": {
"name": "Parallel Uploader",
"uri": "/apps/87099"
},
"status": "available",
"resource_key": "42defb8b69b9e9ad13055ccd3c05b009a3880453",
"upload": null,
"transcode": null,
"is_playable": true,
"has_audio": true
},
{
"uri": "/videos/696854597",
"name": "Nikon D5600_ Sample Video.mp4",
"description": null,
"type": "video",
"link": "https://vimeo.com/696854597",
"player_embed_url": "https://player.vimeo.com/video/696854597?h=8ddb73adca",
"duration": 99,
"width": 1280,
"language": null,
"height": 720,
"embed": {
"html": "<iframe src=\"https://player.vimeo.com/video/696854597?h=8ddb73adca&badge=0&autopause=0&player_id=0&app_id=246316\" width=\"1280\" height=\"720\" frameborder=\"0\" allow=\"autoplay; fullscreen; picture-in-picture\" allowfullscreen title=\"Nikon D5600_ Sample Video.mp4\"></iframe>",
"badges": {
"hdr": false,
"live": {
"streaming": false,
"archived": false
},
"staff_pick": {
"normal": false,
"best_of_the_month": false,
"best_of_the_year": false,
"premiere": false
},
"vod": false,
"weekend_challenge": false
}
},
"created_time": "2022-04-07T07:06:14+00:00",
"modified_time": "2022-05-24T03:54:17+00:00",
"release_time": "2022-04-07T07:06:14+00:00",
"content_rating": [
"unrated"
],
"content_rating_class": "unrated",
"rating_mod_locked": false,
"license": null,
"privacy": {
"view": "anybody",
"embed": "public",
"download": false,
"add": true,
"comments": "anybody"
},
"pictures": {
"uri": "/videos/696854597/pictures/1409496822",
"active": true,
"type": "custom",
"base_link": "https://i.vimeocdn.com/video/1409496822-9c834fd1a42da930507f90994e898b470c0a29e329fb09371ca243c9926b4e93-d",
"sizes": [
{
"width": 100,
"height": 75,
"link": "https://i.vimeocdn.com/video/1409496822-9c834fd1a42da930507f90994e898b470c0a29e329fb09371ca243c9926b4e93-d_100x75?r=pad",
"link_with_play_button": "https://i.vimeocdn.com/filter/overlay?src0=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F1409496822-9c834fd1a42da930507f90994e898b470c0a29e329fb09371ca243c9926b4e93-d_100x75&src1=http%3A%2F%2Ff.vimeocdn.com%2Fp%2Fimages%2Fcrawler_play.png"
},
{
"width": 200,
"height": 150,
"link": "https://i.vimeocdn.com/video/1409496822-9c834fd1a42da930507f90994e898b470c0a29e329fb09371ca243c9926b4e93-d_200x150?r=pad",
"link_with_play_button": "https://i.vimeocdn.com/filter/overlay?src0=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F1409496822-9c834fd1a42da930507f90994e898b470c0a29e329fb09371ca243c9926b4e93-d_200x150&src1=http%3A%2F%2Ff.vimeocdn.com%2Fp%2Fimages%2Fcrawler_play.png"
},
{
"width": 295,
"height": 166,
"link": "https://i.vimeocdn.com/video/1409496822-9c834fd1a42da930507f90994e898b470c0a29e329fb09371ca243c9926b4e93-d_295x166?r=pad",
"link_with_play_button": "https://i.vimeocdn.com/filter/overlay?src0=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F1409496822-9c834fd1a42da930507f90994e898b470c0a29e329fb09371ca243c9926b4e93-d_295x166&src1=http%3A%2F%2Ff.vimeocdn.com%2Fp%2Fimages%2Fcrawler_play.png"
},
{
"width": 640,
"height": 360,
"link": "https://i.vimeocdn.com/video/1409496822-9c834fd1a42da930507f90994e898b470c0a29e329fb09371ca243c9926b4e93-d_640x360?r=pad",
"link_with_play_button": "https://i.vimeocdn.com/filter/overlay?src0=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F1409496822-9c834fd1a42da930507f90994e898b470c0a29e329fb09371ca243c9926b4e93-d_640x360&src1=http%3A%2F%2Ff.vimeocdn.com%2Fp%2Fimages%2Fcrawler_play.png"
},
{
"width": 960,
"height": 540,
"link": "https://i.vimeocdn.com/video/1409496822-9c834fd1a42da930507f90994e898b470c0a29e329fb09371ca243c9926b4e93-d_960x540?r=pad",
"link_with_play_button": "https://i.vimeocdn.com/filter/overlay?src0=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F1409496822-9c834fd1a42da930507f90994e898b470c0a29e329fb09371ca243c9926b4e93-d_960x540&src1=http%3A%2F%2Ff.vimeocdn.com%2Fp%2Fimages%2Fcrawler_play.png"
},
{
"width": 1280,
"height": 720,
"link": "https://i.vimeocdn.com/video/1409496822-9c834fd1a42da930507f90994e898b470c0a29e329fb09371ca243c9926b4e93-d_1280x720?r=pad",
"link_with_play_button": "https://i.vimeocdn.com/filter/overlay?src0=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F1409496822-9c834fd1a42da930507f90994e898b470c0a29e329fb09371ca243c9926b4e93-d_1280x720&src1=http%3A%2F%2Ff.vimeocdn.com%2Fp%2Fimages%2Fcrawler_play.png"
},
{
"width": 1920,
"height": 1080,
"link": "https://i.vimeocdn.com/video/1409496822-9c834fd1a42da930507f90994e898b470c0a29e329fb09371ca243c9926b4e93-d_1920x1080?r=pad",
"link_with_play_button": "https://i.vimeocdn.com/filter/overlay?src0=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F1409496822-9c834fd1a42da930507f90994e898b470c0a29e329fb09371ca243c9926b4e93-d_1920x1080&src1=http%3A%2F%2Ff.vimeocdn.com%2Fp%2Fimages%2Fcrawler_play.png"
}
],
"resource_key": "12a97c4f18955b1e1d5109494dacb3e2f47f9b93",
"default_picture": false
},
"tags": [],
"stats": {
"plays": null
},
"categories": [],
"uploader": {
"pictures": {
"uri": "/users/169594686/pictures/69008030",
"active": true,
"type": "custom",
"base_link": "https://i.vimeocdn.com/portrait/69008030",
"sizes": [
{
"width": 30,
"height": 30,
"link": "https://i.vimeocdn.com/portrait/69008030_30x30"
},
{
"width": 72,
"height": 72,
"link": "https://i.vimeocdn.com/portrait/69008030_72x72"
},
{
"width": 75,
"height": 75,
"link": "https://i.vimeocdn.com/portrait/69008030_75x75"
},
{
"width": 100,
"height": 100,
"link": "https://i.vimeocdn.com/portrait/69008030_100x100"
},
{
"width": 144,
"height": 144,
"link": "https://i.vimeocdn.com/portrait/69008030_144x144"
},
{
"width": 216,
"height": 216,
"link": "https://i.vimeocdn.com/portrait/69008030_216x216"
},
{
"width": 288,
"height": 288,
"link": "https://i.vimeocdn.com/portrait/69008030_288x288"
},
{
"width": 300,
"height": 300,
"link": "https://i.vimeocdn.com/portrait/69008030_300x300"
},
{
"width": 360,
"height": 360,
"link": "https://i.vimeocdn.com/portrait/69008030_360x360"
}
],
"resource_key": "2d541ded34e5594cb359b509b2adbd4c7083f0d9",
"default_picture": false
}
},
"metadata": {
"connections": {
"comments": {
"uri": "/videos/696854597/comments",
"options": [
"GET"
],
"total": 0
},
"credits": {
"uri": "/videos/696854597/credits",
"options": [
"GET",
"POST"
],
"total": 0
},
"likes": {
"uri": "/videos/696854597/likes",
"options": [
"GET"
],
"total": 0
},
"pictures": {
"uri": "/videos/696854597/pictures",
"options": [
"GET",
"POST"
],
"total": 1
},
"texttracks": {
"uri": "/videos/696854597/texttracks",
"options": [
"GET",
"POST"
],
"total": 0
},
"related": {
"uri": "/me/videos?page=1&per_page=10&offset=3",
"options": [
"GET"
]
},
"recommendations": {
"uri": "/videos/696854597/recommendations",
"options": [
"GET"
]
}
},
"interactions": {
"report": {
"uri": "/videos/696854597/report",
"options": [
"POST"
],
"reason": [
"pornographic",
"harassment",
"ripoff",
"incorrect rating",
"spam",
"causes harm",
"csam"
]
}
},
"is_vimeo_create": false,
"is_screen_record": false
},
"user": {
"uri": "/users/169594686",
"name": "Asim Sarwar",
"link": "https://vimeo.com/user169594686",
"capabilities": {
"hasLiveSubscription": false,
"hasEnterpriseLihp": false,
"hasSvvTimecodedComments": false
},
"location": "",
"gender": "",
"bio": null,
"short_bio": null,
"created_time": "2022-03-15T09:13:35+00:00",
"pictures": {
"uri": "/users/169594686/pictures/69008030",
"active": true,
"type": "custom",
"base_link": "https://i.vimeocdn.com/portrait/69008030",
"sizes": [
{
"width": 30,
"height": 30,
"link": "https://i.vimeocdn.com/portrait/69008030_30x30"
},
{
"width": 72,
"height": 72,
"link": "https://i.vimeocdn.com/portrait/69008030_72x72"
},
{
"width": 75,
"height": 75,
"link": "https://i.vimeocdn.com/portrait/69008030_75x75"
},
{
"width": 100,
"height": 100,
"link": "https://i.vimeocdn.com/portrait/69008030_100x100"
},
{
"width": 144,
"height": 144,
"link": "https://i.vimeocdn.com/portrait/69008030_144x144"
},
{
"width": 216,
"height": 216,
"link": "https://i.vimeocdn.com/portrait/69008030_216x216"
},
{
"width": 288,
"height": 288,
"link": "https://i.vimeocdn.com/portrait/69008030_288x288"
},
{
"width": 300,
"height": 300,
"link": "https://i.vimeocdn.com/portrait/69008030_300x300"
},
{
"width": 360,
"height": 360,
"link": "https://i.vimeocdn.com/portrait/69008030_360x360"
}
],
"resource_key": "2d541ded34e5594cb359b509b2adbd4c7083f0d9",
"default_picture": false
},
"websites": [],
"metadata": {
"connections": {
"albums": {
"uri": "/users/169594686/albums",
"options": [
"GET"
],
"total": 0
},
"appearances": {
"uri": "/users/169594686/appearances",
"options": [
"GET"
],
"total": 0
},
"channels": {
"uri": "/users/169594686/channels",
"options": [
"GET"
],
"total": 0
},
"feed": {
"uri": "/users/169594686/feed",
"options": [
"GET"
]
},
"followers": {
"uri": "/users/169594686/followers",
"options": [
"GET"
],
"total": 0
},
"following": {
"uri": "/users/169594686/following",
"options": [
"GET"
],
"total": 0
},
"groups": {
"uri": "/users/169594686/groups",
"options": [
"GET"
],
"total": 0
},
"likes": {
"uri": "/users/169594686/likes",
"options": [
"GET"
],
"total": 0
},
"membership": {
"uri": "/users/169594686/membership/",
"options": [
"PATCH"
]
},
"moderated_channels": {
"uri": "/users/169594686/channels?filter=moderated",
"options": [
"GET"
],
"total": 0
},
"portfolios": {
"uri": "/users/169594686/portfolios",
"options": [
"GET"
],
"total": 0
},
"videos": {
"uri": "/users/169594686/videos",
"options": [
"GET"
],
"total": 14
},
"shared": {
"uri": "/users/169594686/shared/videos",
"options": [
"GET"
],
"total": 0
},
"pictures": {
"uri": "/users/169594686/pictures",
"options": [
"GET",
"POST"
],
"total": 1
},
"folders_root": {
"uri": "/users/169594686/folders/root",
"options": [
"GET"
]
},
"teams": {
"uri": "/users/169594686/teams",
"options": [
"GET"
],
"total": 1
}
}
},
"location_details": {
"formatted_address": "",
"latitude": null,
"longitude": null,
"city": null,
"state": null,
"neighborhood": null,
"sub_locality": null,
"state_iso_code": null,
"country": null,
"country_iso_code": null
},
"skills": [],
"available_for_hire": false,
"can_work_remotely": false,
"resource_key": "e3dd8937e5113a36f98fcba2a7c92a61e05bfb75",
"account": "basic"
},
"play": {
"status": "playable"
},
"app": {
"name": "Parallel Uploader",
"uri": "/apps/87099"
},
"status": "available",
"resource_key": "486dea59ecbe945f286dd6e811745a3739aa3a54",
"upload": null,
"transcode": null,
"is_playable": true,
"has_audio": true
},
{
"uri": "/videos/696851355",
"name": "Particle RSG Logo 3 Cameras Final.mp4",
"description": null,
"type": "video",
"link": "https://vimeo.com/696851355",
"player_embed_url": "https://player.vimeo.com/video/696851355?h=a834757bbb",
"duration": 30,
"width": 1280,
"language": null,
"height": 720,
"embed": {
"html": "<iframe src=\"https://player.vimeo.com/video/696851355?h=a834757bbb&badge=0&autopause=0&player_id=0&app_id=246316\" width=\"1280\" height=\"720\" frameborder=\"0\" allow=\"autoplay; fullscreen; picture-in-picture\" allowfullscreen title=\"Particle RSG Logo 3 Cameras Final.mp4\"></iframe>",
"badges": {
"hdr": false,
"live": {
"streaming": false,
"archived": false
},
"staff_pick": {
"normal": false,
"best_of_the_month": false,
"best_of_the_year": false,
"premiere": false
},
"vod": false,
"weekend_challenge": false
}
},
"created_time": "2022-04-07T06:53:53+00:00",
"modified_time": "2022-04-07T06:57:33+00:00",
"release_time": "2022-04-07T06:53:53+00:00",
"content_rating": [
"unrated"
],
"content_rating_class": "unrated",
"rating_mod_locked": false,
"license": null,
"privacy": {
"view": "anybody",
"embed": "public",
"download": false,
"add": true,
"comments": "anybody"
},
"pictures": {
"uri": "/videos/696851355/pictures/1409490735",
"active": true,
"type": "custom",
"base_link": "https://i.vimeocdn.com/video/1409490735-73bed05c23b232d64c7a3366f3d49d09608c03671cdbdf3a5a9d172f41c4945d-d",
"sizes": [
{
"width": 100,
"height": 75,
"link": "https://i.vimeocdn.com/video/1409490735-73bed05c23b232d64c7a3366f3d49d09608c03671cdbdf3a5a9d172f41c4945d-d_100x75?r=pad",
"link_with_play_button": "https://i.vimeocdn.com/filter/overlay?src0=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F1409490735-73bed05c23b232d64c7a3366f3d49d09608c03671cdbdf3a5a9d172f41c4945d-d_100x75&src1=http%3A%2F%2Ff.vimeocdn.com%2Fp%2Fimages%2Fcrawler_play.png"
},
{
"width": 200,
"height": 150,
"link": "https://i.vimeocdn.com/video/1409490735-73bed05c23b232d64c7a3366f3d49d09608c03671cdbdf3a5a9d172f41c4945d-d_200x150?r=pad",
"link_with_play_button": "https://i.vimeocdn.com/filter/overlay?src0=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F1409490735-73bed05c23b232d64c7a3366f3d49d09608c03671cdbdf3a5a9d172f41c4945d-d_200x150&src1=http%3A%2F%2Ff.vimeocdn.com%2Fp%2Fimages%2Fcrawler_play.png"
},
{
"width": 295,
"height": 166,
"link": "https://i.vimeocdn.com/video/1409490735-73bed05c23b232d64c7a3366f3d49d09608c03671cdbdf3a5a9d172f41c4945d-d_295x166?r=pad",
"link_with_play_button": "https://i.vimeocdn.com/filter/overlay?src0=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F1409490735-73bed05c23b232d64c7a3366f3d49d09608c03671cdbdf3a5a9d172f41c4945d-d_295x166&src1=http%3A%2F%2Ff.vimeocdn.com%2Fp%2Fimages%2Fcrawler_play.png"
},
{
"width": 640,
"height": 360,
"link": "https://i.vimeocdn.com/video/1409490735-73bed05c23b232d64c7a3366f3d49d09608c03671cdbdf3a5a9d172f41c4945d-d_640x360?r=pad",
"link_with_play_button": "https://i.vimeocdn.com/filter/overlay?src0=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F1409490735-73bed05c23b232d64c7a3366f3d49d09608c03671cdbdf3a5a9d172f41c4945d-d_640x360&src1=http%3A%2F%2Ff.vimeocdn.com%2Fp%2Fimages%2Fcrawler_play.png"
},
{
"width": 960,
"height": 540,
"link": "https://i.vimeocdn.com/video/1409490735-73bed05c23b232d64c7a3366f3d49d09608c03671cdbdf3a5a9d172f41c4945d-d_960x540?r=pad",
"link_with_play_button": "https://i.vimeocdn.com/filter/overlay?src0=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F1409490735-73bed05c23b232d64c7a3366f3d49d09608c03671cdbdf3a5a9d172f41c4945d-d_960x540&src1=http%3A%2F%2Ff.vimeocdn.com%2Fp%2Fimages%2Fcrawler_play.png"
},
{
"width": 1280,
"height": 720,
"link": "https://i.vimeocdn.com/video/1409490735-73bed05c23b232d64c7a3366f3d49d09608c03671cdbdf3a5a9d172f41c4945d-d_1280x720?r=pad",
"link_with_play_button": "https://i.vimeocdn.com/filter/overlay?src0=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F1409490735-73bed05c23b232d64c7a3366f3d49d09608c03671cdbdf3a5a9d172f41c4945d-d_1280x720&src1=http%3A%2F%2Ff.vimeocdn.com%2Fp%2Fimages%2Fcrawler_play.png"
},
{
"width": 1920,
"height": 1080,
"link": "https://i.vimeocdn.com/video/1409490735-73bed05c23b232d64c7a3366f3d49d09608c03671cdbdf3a5a9d172f41c4945d-d_1920x1080?r=pad",
"link_with_play_button": "https://i.vimeocdn.com/filter/overlay?src0=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F1409490735-73bed05c23b232d64c7a3366f3d49d09608c03671cdbdf3a5a9d172f41c4945d-d_1920x1080&src1=http%3A%2F%2Ff.vimeocdn.com%2Fp%2Fimages%2Fcrawler_play.png"
}
],
"resource_key": "74b9d6aeebbe64390f903ff130349667fb9b41bf",
"default_picture": false
},
"tags": [],
"stats": {
"plays": null
},
"categories": [],
"uploader": {
"pictures": {
"uri": "/users/169594686/pictures/69008030",
"active": true,
"type": "custom",
"base_link": "https://i.vimeocdn.com/portrait/69008030",
"sizes": [
{
"width": 30,
"height": 30,
"link": "https://i.vimeocdn.com/portrait/69008030_30x30"
},
{
"width": 72,
"height": 72,
"link": "https://i.vimeocdn.com/portrait/69008030_72x72"
},
{
"width": 75,
"height": 75,
"link": "https://i.vimeocdn.com/portrait/69008030_75x75"
},
{
"width": 100,
"height": 100,
"link": "https://i.vimeocdn.com/portrait/69008030_100x100"
},
{
"width": 144,
"height": 144,
"link": "https://i.vimeocdn.com/portrait/69008030_144x144"
},
{
"width": 216,
"height": 216,
"link": "https://i.vimeocdn.com/portrait/69008030_216x216"
},
{
"width": 288,
"height": 288,
"link": "https://i.vimeocdn.com/portrait/69008030_288x288"
},
{
"width": 300,
"height": 300,
"link": "https://i.vimeocdn.com/portrait/69008030_300x300"
},
{
"width": 360,
"height": 360,
"link": "https://i.vimeocdn.com/portrait/69008030_360x360"
}
],
"resource_key": "2d541ded34e5594cb359b509b2adbd4c7083f0d9",
"default_picture": false
}
},
"metadata": {
"connections": {
"comments": {
"uri": "/videos/696851355/comments",
"options": [
"GET"
],
"total": 0
},
"credits": {
"uri": "/videos/696851355/credits",
"options": [
"GET",
"POST"
],
"total": 0
},
"likes": {
"uri": "/videos/696851355/likes",
"options": [
"GET"
],
"total": 0
},
"pictures": {
"uri": "/videos/696851355/pictures",
"options": [
"GET",
"POST"
],
"total": 1
},
"texttracks": {
"uri": "/videos/696851355/texttracks",
"options": [
"GET",
"POST"
],
"total": 0
},
"related": {
"uri": "/me/videos?page=1&per_page=10&offset=4",
"options": [
"GET"
]
},
"recommendations": {
"uri": "/videos/696851355/recommendations",
"options": [
"GET"
]
}
},
"interactions": {
"report": {
"uri": "/videos/696851355/report",
"options": [
"POST"
],
"reason": [
"pornographic",
"harassment",
"ripoff",
"incorrect rating",
"spam",
"causes harm",
"csam"
]
}
},
"is_vimeo_create": false,
"is_screen_record": false
},
"user": {
"uri": "/users/169594686",
"name": "Asim Sarwar",
"link": "https://vimeo.com/user169594686",
"capabilities": {
"hasLiveSubscription": false,
"hasEnterpriseLihp": false,
"hasSvvTimecodedComments": false
},
"location": "",
"gender": "",
"bio": null,
"short_bio": null,
"created_time": "2022-03-15T09:13:35+00:00",
"pictures": {
"uri": "/users/169594686/pictures/69008030",
"active": true,
"type": "custom",
"base_link": "https://i.vimeocdn.com/portrait/69008030",
"sizes": [
{
"width": 30,
"height": 30,
"link": "https://i.vimeocdn.com/portrait/69008030_30x30"
},
{
"width": 72,
"height": 72,
"link": "https://i.vimeocdn.com/portrait/69008030_72x72"
},
{
"width": 75,
"height": 75,
"link": "https://i.vimeocdn.com/portrait/69008030_75x75"
},
{
"width": 100,
"height": 100,
"link": "https://i.vimeocdn.com/portrait/69008030_100x100"
},
{
"width": 144,
"height": 144,
"link": "https://i.vimeocdn.com/portrait/69008030_144x144"
},
{
"width": 216,
"height": 216,
"link": "https://i.vimeocdn.com/portrait/69008030_216x216"
},
{
"width": 288,
"height": 288,
"link": "https://i.vimeocdn.com/portrait/69008030_288x288"
},
{
"width": 300,
"height": 300,
"link": "https://i.vimeocdn.com/portrait/69008030_300x300"
},
{
"width": 360,
"height": 360,
"link": "https://i.vimeocdn.com/portrait/69008030_360x360"
}
],
"resource_key": "2d541ded34e5594cb359b509b2adbd4c7083f0d9",
"default_picture": false
},
"websites": [],
"metadata": {
"connections": {
"albums": {
"uri": "/users/169594686/albums",
"options": [
"GET"
],
"total": 0
},
"appearances": {
"uri": "/users/169594686/appearances",
"options": [
"GET"
],
"total": 0
},
"channels": {
"uri": "/users/169594686/channels",
"options": [
"GET"
],
"total": 0
},
"feed": {
"uri": "/users/169594686/feed",
"options": [
"GET"
]
},
"followers": {
"uri": "/users/169594686/followers",
"options": [
"GET"
],
"total": 0
},
"following": {
"uri": "/users/169594686/following",
"options": [
"GET"
],
"total": 0
},
"groups": {
"uri": "/users/169594686/groups",
"options": [
"GET"
],
"total": 0
},
"likes": {
"uri": "/users/169594686/likes",
"options": [
"GET"
],
"total": 0
},
"membership": {
"uri": "/users/169594686/membership/",
"options": [
"PATCH"
]
},
"moderated_channels": {
"uri": "/users/169594686/channels?filter=moderated",
"options": [
"GET"
],
"total": 0
},
"portfolios": {
"uri": "/users/169594686/portfolios",
"options": [
"GET"
],
"total": 0
},
"videos": {
"uri": "/users/169594686/videos",
"options": [
"GET"
],
"total": 14
},
"shared": {
"uri": "/users/169594686/shared/videos",
"options": [
"GET"
],
"total": 0
},
"pictures": {
"uri": "/users/169594686/pictures",
"options": [
"GET",
"POST"
],
"total": 1
},
"folders_root": {
"uri": "/users/169594686/folders/root",
"options": [
"GET"
]
},
"teams": {
"uri": "/users/169594686/teams",
"options": [
"GET"
],
"total": 1
}
}
},
"location_details": {
"formatted_address": "",
"latitude": null,
"longitude": null,
"city": null,
"state": null,
"neighborhood": null,
"sub_locality": null,
"state_iso_code": null,
"country": null,
"country_iso_code": null
},
"skills": [],
"available_for_hire": false,
"can_work_remotely": false,
"resource_key": "e3dd8937e5113a36f98fcba2a7c92a61e05bfb75",
"account": "basic"
},
"play": {
"status": "playable"
},
"app": {
"name": "Parallel Uploader",
"uri": "/apps/87099"
},
"status": "available",
"resource_key": "5aa2291817e202e3a6081ea35482705c5bcdd0d0",
"upload": null,
"transcode": null,
"is_playable": true,
"has_audio": true
},
{
"uri": "/videos/696850169",
"name": "Free Particle Wave Background Abstract Stock Footage.mp4",
"description": null,
"type": "video",
"link": "https://vimeo.com/696850169",
"player_embed_url": "https://player.vimeo.com/video/696850169?h=bb829ce334",
"duration": 8,
"width": 1280,
"language": null,
"height": 720,
"embed": {
"html": "<iframe src=\"https://player.vimeo.com/video/696850169?h=bb829ce334&badge=0&autopause=0&player_id=0&app_id=246316\" width=\"1280\" height=\"720\" frameborder=\"0\" allow=\"autoplay; fullscreen; picture-in-picture\" allowfullscreen title=\"Free Particle Wave Background Abstract Stock Footage.mp4\"></iframe>",
"badges": {
"hdr": false,
"live": {
"streaming": false,
"archived": false
},
"staff_pick": {
"normal": false,
"best_of_the_month": false,
"best_of_the_year": false,
"premiere": false
},
"vod": false,
"weekend_challenge": false
}
},
"created_time": "2022-04-07T06:48:48+00:00",
"modified_time": "2022-08-28T00:44:06+00:00",
"release_time": "2022-04-07T06:48:48+00:00",
"content_rating": [
"unrated"
],
"content_rating_class": "unrated",
"rating_mod_locked": false,
"license": null,
"privacy": {
"view": "anybody",
"embed": "public",
"download": false,
"add": true,
"comments": "anybody"
},
"pictures": {
"uri": "/videos/696850169/pictures/1409488353",
"active": true,
"type": "custom",
"base_link": "https://i.vimeocdn.com/video/1409488353-da252fe02968c04272f470b1b3460614aaaa83e9d90d11a2d67461b9f2644112-d",
"sizes": [
{
"width": 100,
"height": 75,
"link": "https://i.vimeocdn.com/video/1409488353-da252fe02968c04272f470b1b3460614aaaa83e9d90d11a2d67461b9f2644112-d_100x75?r=pad",
"link_with_play_button": "https://i.vimeocdn.com/filter/overlay?src0=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F1409488353-da252fe02968c04272f470b1b3460614aaaa83e9d90d11a2d67461b9f2644112-d_100x75&src1=http%3A%2F%2Ff.vimeocdn.com%2Fp%2Fimages%2Fcrawler_play.png"
},
{
"width": 200,
"height": 150,
"link": "https://i.vimeocdn.com/video/1409488353-da252fe02968c04272f470b1b3460614aaaa83e9d90d11a2d67461b9f2644112-d_200x150?r=pad",
"link_with_play_button": "https://i.vimeocdn.com/filter/overlay?src0=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F1409488353-da252fe02968c04272f470b1b3460614aaaa83e9d90d11a2d67461b9f2644112-d_200x150&src1=http%3A%2F%2Ff.vimeocdn.com%2Fp%2Fimages%2Fcrawler_play.png"
},
{
"width": 295,
"height": 166,
"link": "https://i.vimeocdn.com/video/1409488353-da252fe02968c04272f470b1b3460614aaaa83e9d90d11a2d67461b9f2644112-d_295x166?r=pad",
"link_with_play_button": "https://i.vimeocdn.com/filter/overlay?src0=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F1409488353-da252fe02968c04272f470b1b3460614aaaa83e9d90d11a2d67461b9f2644112-d_295x166&src1=http%3A%2F%2Ff.vimeocdn.com%2Fp%2Fimages%2Fcrawler_play.png"
},
{
"width": 640,
"height": 360,
"link": "https://i.vimeocdn.com/video/1409488353-da252fe02968c04272f470b1b3460614aaaa83e9d90d11a2d67461b9f2644112-d_640x360?r=pad",
"link_with_play_button": "https://i.vimeocdn.com/filter/overlay?src0=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F1409488353-da252fe02968c04272f470b1b3460614aaaa83e9d90d11a2d67461b9f2644112-d_640x360&src1=http%3A%2F%2Ff.vimeocdn.com%2Fp%2Fimages%2Fcrawler_play.png"
},
{
"width": 960,
"height": 540,
"link": "https://i.vimeocdn.com/video/1409488353-da252fe02968c04272f470b1b3460614aaaa83e9d90d11a2d67461b9f2644112-d_960x540?r=pad",
"link_with_play_button": "https://i.vimeocdn.com/filter/overlay?src0=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F1409488353-da252fe02968c04272f470b1b3460614aaaa83e9d90d11a2d67461b9f2644112-d_960x540&src1=http%3A%2F%2Ff.vimeocdn.com%2Fp%2Fimages%2Fcrawler_play.png"
},
{
"width": 1280,
"height": 720,
"link": "https://i.vimeocdn.com/video/1409488353-da252fe02968c04272f470b1b3460614aaaa83e9d90d11a2d67461b9f2644112-d_1280x720?r=pad",
"link_with_play_button": "https://i.vimeocdn.com/filter/overlay?src0=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F1409488353-da252fe02968c04272f470b1b3460614aaaa83e9d90d11a2d67461b9f2644112-d_1280x720&src1=http%3A%2F%2Ff.vimeocdn.com%2Fp%2Fimages%2Fcrawler_play.png"
},
{
"width": 1920,
"height": 1080,
"link": "https://i.vimeocdn.com/video/1409488353-da252fe02968c04272f470b1b3460614aaaa83e9d90d11a2d67461b9f2644112-d_1920x1080?r=pad",
"link_with_play_button": "https://i.vimeocdn.com/filter/overlay?src0=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F1409488353-da252fe02968c04272f470b1b3460614aaaa83e9d90d11a2d67461b9f2644112-d_1920x1080&src1=http%3A%2F%2Ff.vimeocdn.com%2Fp%2Fimages%2Fcrawler_play.png"
}
],
"resource_key": "c21d286c64ecdb89bbbe4301990e6323e7b899dc",
"default_picture": false
},
"tags": [],
"stats": {
"plays": null
},
"categories": [],
"uploader": {
"pictures": {
"uri": "/users/169594686/pictures/69008030",
"active": true,
"type": "custom",
"base_link": "https://i.vimeocdn.com/portrait/69008030",
"sizes": [
{
"width": 30,
"height": 30,
"link": "https://i.vimeocdn.com/portrait/69008030_30x30"
},
{
"width": 72,
"height": 72,
"link": "https://i.vimeocdn.com/portrait/69008030_72x72"
},
{
"width": 75,
"height": 75,
"link": "https://i.vimeocdn.com/portrait/69008030_75x75"
},
{
"width": 100,
"height": 100,
"link": "https://i.vimeocdn.com/portrait/69008030_100x100"
},
{
"width": 144,
"height": 144,
"link": "https://i.vimeocdn.com/portrait/69008030_144x144"
},
{
"width": 216,
"height": 216,
"link": "https://i.vimeocdn.com/portrait/69008030_216x216"
},
{
"width": 288,
"height": 288,
"link": "https://i.vimeocdn.com/portrait/69008030_288x288"
},
{
"width": 300,
"height": 300,
"link": "https://i.vimeocdn.com/portrait/69008030_300x300"
},
{
"width": 360,
"height": 360,
"link": "https://i.vimeocdn.com/portrait/69008030_360x360"
}
],
"resource_key": "2d541ded34e5594cb359b509b2adbd4c7083f0d9",
"default_picture": false
}
},
"metadata": {
"connections": {
"comments": {
"uri": "/videos/696850169/comments",
"options": [
"GET"
],
"total": 0
},
"credits": {
"uri": "/videos/696850169/credits",
"options": [
"GET",
"POST"
],
"total": 0
},
"likes": {
"uri": "/videos/696850169/likes",
"options": [
"GET"
],
"total": 0
},
"pictures": {
"uri": "/videos/696850169/pictures",
"options": [
"GET",
"POST"
],
"total": 1
},
"texttracks": {
"uri": "/videos/696850169/texttracks",
"options": [
"GET",
"POST"
],
"total": 0
},
"related": {
"uri": "/me/videos?page=1&per_page=10&offset=5",
"options": [
"GET"
]
},
"recommendations": {
"uri": "/videos/696850169/recommendations",
"options": [
"GET"
]
}
},
"interactions": {
"report": {
"uri": "/videos/696850169/report",
"options": [
"POST"
],
"reason": [
"pornographic",
"harassment",
"ripoff",
"incorrect rating",
"spam",
"causes harm",
"csam"
]
}
},
"is_vimeo_create": false,
"is_screen_record": false
},
"user": {
"uri": "/users/169594686",
"name": "Asim Sarwar",
"link": "https://vimeo.com/user169594686",
"capabilities": {
"hasLiveSubscription": false,
"hasEnterpriseLihp": false,
"hasSvvTimecodedComments": false
},
"location": "",
"gender": "",
"bio": null,
"short_bio": null,
"created_time": "2022-03-15T09:13:35+00:00",
"pictures": {
"uri": "/users/169594686/pictures/69008030",
"active": true,
"type": "custom",
"base_link": "https://i.vimeocdn.com/portrait/69008030",
"sizes": [
{
"width": 30,
"height": 30,
"link": "https://i.vimeocdn.com/portrait/69008030_30x30"
},
{
"width": 72,
"height": 72,
"link": "https://i.vimeocdn.com/portrait/69008030_72x72"
},
{
"width": 75,
"height": 75,
"link": "https://i.vimeocdn.com/portrait/69008030_75x75"
},
{
"width": 100,
"height": 100,
"link": "https://i.vimeocdn.com/portrait/69008030_100x100"
},
{
"width": 144,
"height": 144,
"link": "https://i.vimeocdn.com/portrait/69008030_144x144"
},
{
"width": 216,
"height": 216,
"link": "https://i.vimeocdn.com/portrait/69008030_216x216"
},
{
"width": 288,
"height": 288,
"link": "https://i.vimeocdn.com/portrait/69008030_288x288"
},
{
"width": 300,
"height": 300,
"link": "https://i.vimeocdn.com/portrait/69008030_300x300"
},
{
"width": 360,
"height": 360,
"link": "https://i.vimeocdn.com/portrait/69008030_360x360"
}
],
"resource_key": "2d541ded34e5594cb359b509b2adbd4c7083f0d9",
"default_picture": false
},
"websites": [],
"metadata": {
"connections": {
"albums": {
"uri": "/users/169594686/albums",
"options": [
"GET"
],
"total": 0
},
"appearances": {
"uri": "/users/169594686/appearances",
"options": [
"GET"
],
"total": 0
},
"channels": {
"uri": "/users/169594686/channels",
"options": [
"GET"
],
"total": 0
},
"feed": {
"uri": "/users/169594686/feed",
"options": [
"GET"
]
},
"followers": {
"uri": "/users/169594686/followers",
"options": [
"GET"
],
"total": 0
},
"following": {
"uri": "/users/169594686/following",
"options": [
"GET"
],
"total": 0
},
"groups": {
"uri": "/users/169594686/groups",
"options": [
"GET"
],
"total": 0
},
"likes": {
"uri": "/users/169594686/likes",
"options": [
"GET"
],
"total": 0
},
"membership": {
"uri": "/users/169594686/membership/",
"options": [
"PATCH"
]
},
"moderated_channels": {
"uri": "/users/169594686/channels?filter=moderated",
"options": [
"GET"
],
"total": 0
},
"portfolios": {
"uri": "/users/169594686/portfolios",
"options": [
"GET"
],
"total": 0
},
"videos": {
"uri": "/users/169594686/videos",
"options": [
"GET"
],
"total": 14
},
"shared": {
"uri": "/users/169594686/shared/videos",
"options": [
"GET"
],
"total": 0
},
"pictures": {
"uri": "/users/169594686/pictures",
"options": [
"GET",
"POST"
],
"total": 1
},
"folders_root": {
"uri": "/users/169594686/folders/root",
"options": [
"GET"
]
},
"teams": {
"uri": "/users/169594686/teams",
"options": [
"GET"
],
"total": 1
}
}
},
"location_details": {
"formatted_address": "",
"latitude": null,
"longitude": null,
"city": null,
"state": null,
"neighborhood": null,
"sub_locality": null,
"state_iso_code": null,
"country": null,
"country_iso_code": null
},
"skills": [],
"available_for_hire": false,
"can_work_remotely": false,
"resource_key": "e3dd8937e5113a36f98fcba2a7c92a61e05bfb75",
"account": "basic"
},
"play": {
"status": "playable"
},
"app": {
"name": "Parallel Uploader",
"uri": "/apps/87099"
},
"status": "available",
"resource_key": "dba3d97b463823b56007541234257cf284fe5268",
"upload": null,
"transcode": null,
"is_playable": true,
"has_audio": true
},
{
"uri": "/videos/696850162",
"name": "Premiere pro Smoke intro (channel).mp4",
"description": null,
"type": "video",
"link": "https://vimeo.com/696850162",
"player_embed_url": "https://player.vimeo.com/video/696850162?h=034bb7e276",
"duration": 9,
"width": 1280,
"language": null,
"height": 720,
"embed": {
"html": "<iframe src=\"https://player.vimeo.com/video/696850162?h=034bb7e276&badge=0&autopause=0&player_id=0&app_id=246316\" width=\"1280\" height=\"720\" frameborder=\"0\" allow=\"autoplay; fullscreen; picture-in-picture\" allowfullscreen title=\"Premiere pro Smoke intro (channel).mp4\"></iframe>",
"badges": {
"hdr": false,
"live": {
"streaming": false,
"archived": false
},
"staff_pick": {
"normal": false,
"best_of_the_month": false,
"best_of_the_year": false,
"premiere": false
},
"vod": false,
"weekend_challenge": false
}
},
"created_time": "2022-04-07T06:48:44+00:00",
"modified_time": "2022-04-07T06:52:31+00:00",
"release_time": "2022-04-07T06:48:44+00:00",
"content_rating": [
"unrated"
],
"content_rating_class": "unrated",
"rating_mod_locked": false,
"license": null,
"privacy": {
"view": "anybody",
"embed": "public",
"download": false,
"add": true,
"comments": "anybody"
},
"pictures": {
"uri": "/videos/696850162/pictures/1409488381",
"active": true,
"type": "custom",
"base_link": "https://i.vimeocdn.com/video/1409488381-d1a3f58bcb98343ba27677584a5821ee7b47005caaf4a5c9d6e83bd34af3e5dd-d",
"sizes": [
{
"width": 100,
"height": 75,
"link": "https://i.vimeocdn.com/video/1409488381-d1a3f58bcb98343ba27677584a5821ee7b47005caaf4a5c9d6e83bd34af3e5dd-d_100x75?r=pad",
"link_with_play_button": "https://i.vimeocdn.com/filter/overlay?src0=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F1409488381-d1a3f58bcb98343ba27677584a5821ee7b47005caaf4a5c9d6e83bd34af3e5dd-d_100x75&src1=http%3A%2F%2Ff.vimeocdn.com%2Fp%2Fimages%2Fcrawler_play.png"
},
{
"width": 200,
"height": 150,
"link": "https://i.vimeocdn.com/video/1409488381-d1a3f58bcb98343ba27677584a5821ee7b47005caaf4a5c9d6e83bd34af3e5dd-d_200x150?r=pad",
"link_with_play_button": "https://i.vimeocdn.com/filter/overlay?src0=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F1409488381-d1a3f58bcb98343ba27677584a5821ee7b47005caaf4a5c9d6e83bd34af3e5dd-d_200x150&src1=http%3A%2F%2Ff.vimeocdn.com%2Fp%2Fimages%2Fcrawler_play.png"
},
{
"width": 295,
"height": 166,
"link": "https://i.vimeocdn.com/video/1409488381-d1a3f58bcb98343ba27677584a5821ee7b47005caaf4a5c9d6e83bd34af3e5dd-d_295x166?r=pad",
"link_with_play_button": "https://i.vimeocdn.com/filter/overlay?src0=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F1409488381-d1a3f58bcb98343ba27677584a5821ee7b47005caaf4a5c9d6e83bd34af3e5dd-d_295x166&src1=http%3A%2F%2Ff.vimeocdn.com%2Fp%2Fimages%2Fcrawler_play.png"
},
{
"width": 640,
"height": 360,
"link": "https://i.vimeocdn.com/video/1409488381-d1a3f58bcb98343ba27677584a5821ee7b47005caaf4a5c9d6e83bd34af3e5dd-d_640x360?r=pad",
"link_with_play_button": "https://i.vimeocdn.com/filter/overlay?src0=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F1409488381-d1a3f58bcb98343ba27677584a5821ee7b47005caaf4a5c9d6e83bd34af3e5dd-d_640x360&src1=http%3A%2F%2Ff.vimeocdn.com%2Fp%2Fimages%2Fcrawler_play.png"
},
{
"width": 960,
"height": 540,
"link": "https://i.vimeocdn.com/video/1409488381-d1a3f58bcb98343ba27677584a5821ee7b47005caaf4a5c9d6e83bd34af3e5dd-d_960x540?r=pad",
"link_with_play_button": "https://i.vimeocdn.com/filter/overlay?src0=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F1409488381-d1a3f58bcb98343ba27677584a5821ee7b47005caaf4a5c9d6e83bd34af3e5dd-d_960x540&src1=http%3A%2F%2Ff.vimeocdn.com%2Fp%2Fimages%2Fcrawler_play.png"
},
{
"width": 1280,
"height": 720,
"link": "https://i.vimeocdn.com/video/1409488381-d1a3f58bcb98343ba27677584a5821ee7b47005caaf4a5c9d6e83bd34af3e5dd-d_1280x720?r=pad",
"link_with_play_button": "https://i.vimeocdn.com/filter/overlay?src0=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F1409488381-d1a3f58bcb98343ba27677584a5821ee7b47005caaf4a5c9d6e83bd34af3e5dd-d_1280x720&src1=http%3A%2F%2Ff.vimeocdn.com%2Fp%2Fimages%2Fcrawler_play.png"
},
{
"width": 1920,
"height": 1080,
"link": "https://i.vimeocdn.com/video/1409488381-d1a3f58bcb98343ba27677584a5821ee7b47005caaf4a5c9d6e83bd34af3e5dd-d_1920x1080?r=pad",
"link_with_play_button": "https://i.vimeocdn.com/filter/overlay?src0=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F1409488381-d1a3f58bcb98343ba27677584a5821ee7b47005caaf4a5c9d6e83bd34af3e5dd-d_1920x1080&src1=http%3A%2F%2Ff.vimeocdn.com%2Fp%2Fimages%2Fcrawler_play.png"
}
],
"resource_key": "ba4e06a08f0cd8e83627a5f8fe94dd0aed74257d",
"default_picture": false
},
"tags": [],
"stats": {
"plays": null
},
"categories": [],
"uploader": {
"pictures": {
"uri": "/users/169594686/pictures/69008030",
"active": true,
"type": "custom",
"base_link": "https://i.vimeocdn.com/portrait/69008030",
"sizes": [
{
"width": 30,
"height": 30,
"link": "https://i.vimeocdn.com/portrait/69008030_30x30"
},
{
"width": 72,
"height": 72,
"link": "https://i.vimeocdn.com/portrait/69008030_72x72"
},
{
"width": 75,
"height": 75,
"link": "https://i.vimeocdn.com/portrait/69008030_75x75"
},
{
"width": 100,
"height": 100,
"link": "https://i.vimeocdn.com/portrait/69008030_100x100"
},
{
"width": 144,
"height": 144,
"link": "https://i.vimeocdn.com/portrait/69008030_144x144"
},
{
"width": 216,
"height": 216,
"link": "https://i.vimeocdn.com/portrait/69008030_216x216"
},
{
"width": 288,
"height": 288,
"link": "https://i.vimeocdn.com/portrait/69008030_288x288"
},
{
"width": 300,
"height": 300,
"link": "https://i.vimeocdn.com/portrait/69008030_300x300"
},
{
"width": 360,
"height": 360,
"link": "https://i.vimeocdn.com/portrait/69008030_360x360"
}
],
"resource_key": "2d541ded34e5594cb359b509b2adbd4c7083f0d9",
"default_picture": false
}
},
"metadata": {
"connections": {
"comments": {
"uri": "/videos/696850162/comments",
"options": [
"GET"
],
"total": 0
},
"credits": {
"uri": "/videos/696850162/credits",
"options": [
"GET",
"POST"
],
"total": 0
},
"likes": {
"uri": "/videos/696850162/likes",
"options": [
"GET"
],
"total": 0
},
"pictures": {
"uri": "/videos/696850162/pictures",
"options": [
"GET",
"POST"
],
"total": 1
},
"texttracks": {
"uri": "/videos/696850162/texttracks",
"options": [
"GET",
"POST"
],
"total": 0
},
"related": {
"uri": "/me/videos?page=1&per_page=10&offset=6",
"options": [
"GET"
]
},
"recommendations": {
"uri": "/videos/696850162/recommendations",
"options": [
"GET"
]
}
},
"interactions": {
"report": {
"uri": "/videos/696850162/report",
"options": [
"POST"
],
"reason": [
"pornographic",
"harassment",
"ripoff",
"incorrect rating",
"spam",
"causes harm",
"csam"
]
}
},
"is_vimeo_create": false,
"is_screen_record": false
},
"user": {
"uri": "/users/169594686",
"name": "Asim Sarwar",
"link": "https://vimeo.com/user169594686",
"capabilities": {
"hasLiveSubscription": false,
"hasEnterpriseLihp": false,
"hasSvvTimecodedComments": false
},
"location": "",
"gender": "",
"bio": null,
"short_bio": null,
"created_time": "2022-03-15T09:13:35+00:00",
"pictures": {
"uri": "/users/169594686/pictures/69008030",
"active": true,
"type": "custom",
"base_link": "https://i.vimeocdn.com/portrait/69008030",
"sizes": [
{
"width": 30,
"height": 30,
"link": "https://i.vimeocdn.com/portrait/69008030_30x30"
},
{
"width": 72,
"height": 72,
"link": "https://i.vimeocdn.com/portrait/69008030_72x72"
},
{
"width": 75,
"height": 75,
"link": "https://i.vimeocdn.com/portrait/69008030_75x75"
},
{
"width": 100,
"height": 100,
"link": "https://i.vimeocdn.com/portrait/69008030_100x100"
},
{
"width": 144,
"height": 144,
"link": "https://i.vimeocdn.com/portrait/69008030_144x144"
},
{
"width": 216,
"height": 216,
"link": "https://i.vimeocdn.com/portrait/69008030_216x216"
},
{
"width": 288,
"height": 288,
"link": "https://i.vimeocdn.com/portrait/69008030_288x288"
},
{
"width": 300,
"height": 300,
"link": "https://i.vimeocdn.com/portrait/69008030_300x300"
},
{
"width": 360,
"height": 360,
"link": "https://i.vimeocdn.com/portrait/69008030_360x360"
}
],
"resource_key": "2d541ded34e5594cb359b509b2adbd4c7083f0d9",
"default_picture": false
},
"websites": [],
"metadata": {
"connections": {
"albums": {
"uri": "/users/169594686/albums",
"options": [
"GET"
],
"total": 0
},
"appearances": {
"uri": "/users/169594686/appearances",
"options": [
"GET"
],
"total": 0
},
"channels": {
"uri": "/users/169594686/channels",
"options": [
"GET"
],
"total": 0
},
"feed": {
"uri": "/users/169594686/feed",
"options": [
"GET"
]
},
"followers": {
"uri": "/users/169594686/followers",
"options": [
"GET"
],
"total": 0
},
"following": {
"uri": "/users/169594686/following",
"options": [
"GET"
],
"total": 0
},
"groups": {
"uri": "/users/169594686/groups",
"options": [
"GET"
],
"total": 0
},
"likes": {
"uri": "/users/169594686/likes",
"options": [
"GET"
],
"total": 0
},
"membership": {
"uri": "/users/169594686/membership/",
"options": [
"PATCH"
]
},
"moderated_channels": {
"uri": "/users/169594686/channels?filter=moderated",
"options": [
"GET"
],
"total": 0
},
"portfolios": {
"uri": "/users/169594686/portfolios",
"options": [
"GET"
],
"total": 0
},
"videos": {
"uri": "/users/169594686/videos",
"options": [
"GET"
],
"total": 14
},
"shared": {
"uri": "/users/169594686/shared/videos",
"options": [
"GET"
],
"total": 0
},
"pictures": {
"uri": "/users/169594686/pictures",
"options": [
"GET",
"POST"
],
"total": 1
},
"folders_root": {
"uri": "/users/169594686/folders/root",
"options": [
"GET"
]
},
"teams": {
"uri": "/users/169594686/teams",
"options": [
"GET"
],
"total": 1
}
}
},
"location_details": {
"formatted_address": "",
"latitude": null,
"longitude": null,
"city": null,
"state": null,
"neighborhood": null,
"sub_locality": null,
"state_iso_code": null,
"country": null,
"country_iso_code": null
},
"skills": [],
"available_for_hire": false,
"can_work_remotely": false,
"resource_key": "e3dd8937e5113a36f98fcba2a7c92a61e05bfb75",
"account": "basic"
},
"play": {
"status": "playable"
},
"app": {
"name": "Parallel Uploader",
"uri": "/apps/87099"
},
"status": "available",
"resource_key": "2fd71bf34351fd9fd3a02c5437d724f1683dad58",
"upload": null,
"transcode": null,
"is_playable": true,
"has_audio": true
},
{
"uri": "/videos/696849247",
"name": "Line Overlay.mp4",
"description": null,
"type": "video",
"link": "https://vimeo.com/696849247",
"player_embed_url": "https://player.vimeo.com/video/696849247?h=ac0cb5730b",
"duration": 17,
"width": 1280,
"language": null,
"height": 720,
"embed": {
"html": "<iframe src=\"https://player.vimeo.com/video/696849247?h=ac0cb5730b&badge=0&autopause=0&player_id=0&app_id=246316\" width=\"1280\" height=\"720\" frameborder=\"0\" allow=\"autoplay; fullscreen; picture-in-picture\" allowfullscreen title=\"Line Overlay.mp4\"></iframe>",
"badges": {
"hdr": false,
"live": {
"streaming": false,
"archived": false
},
"staff_pick": {
"normal": false,
"best_of_the_month": false,
"best_of_the_year": false,
"premiere": false
},
"vod": false,
"weekend_challenge": false
}
},
"created_time": "2022-04-07T06:44:35+00:00",
"modified_time": "2022-04-07T06:48:11+00:00",
"release_time": "2022-04-07T06:44:35+00:00",
"content_rating": [
"unrated"
],
"content_rating_class": "unrated",
"rating_mod_locked": false,
"license": null,
"privacy": {
"view": "anybody",
"embed": "public",
"download": false,
"add": true,
"comments": "anybody"
},
"pictures": {
"uri": "/videos/696849247/pictures/1409486914",
"active": true,
"type": "custom",
"base_link": "https://i.vimeocdn.com/video/1409486914-4bbe465e338670520c33809a2af027975a816cc2348f9ec95ee9d3a518a19658-d",
"sizes": [
{
"width": 100,
"height": 75,
"link": "https://i.vimeocdn.com/video/1409486914-4bbe465e338670520c33809a2af027975a816cc2348f9ec95ee9d3a518a19658-d_100x75?r=pad",
"link_with_play_button": "https://i.vimeocdn.com/filter/overlay?src0=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F1409486914-4bbe465e338670520c33809a2af027975a816cc2348f9ec95ee9d3a518a19658-d_100x75&src1=http%3A%2F%2Ff.vimeocdn.com%2Fp%2Fimages%2Fcrawler_play.png"
},
{
"width": 200,
"height": 150,
"link": "https://i.vimeocdn.com/video/1409486914-4bbe465e338670520c33809a2af027975a816cc2348f9ec95ee9d3a518a19658-d_200x150?r=pad",
"link_with_play_button": "https://i.vimeocdn.com/filter/overlay?src0=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F1409486914-4bbe465e338670520c33809a2af027975a816cc2348f9ec95ee9d3a518a19658-d_200x150&src1=http%3A%2F%2Ff.vimeocdn.com%2Fp%2Fimages%2Fcrawler_play.png"
},
{
"width": 295,
"height": 166,
"link": "https://i.vimeocdn.com/video/1409486914-4bbe465e338670520c33809a2af027975a816cc2348f9ec95ee9d3a518a19658-d_295x166?r=pad",
"link_with_play_button": "https://i.vimeocdn.com/filter/overlay?src0=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F1409486914-4bbe465e338670520c33809a2af027975a816cc2348f9ec95ee9d3a518a19658-d_295x166&src1=http%3A%2F%2Ff.vimeocdn.com%2Fp%2Fimages%2Fcrawler_play.png"
},
{
"width": 640,
"height": 360,
"link": "https://i.vimeocdn.com/video/1409486914-4bbe465e338670520c33809a2af027975a816cc2348f9ec95ee9d3a518a19658-d_640x360?r=pad",
"link_with_play_button": "https://i.vimeocdn.com/filter/overlay?src0=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F1409486914-4bbe465e338670520c33809a2af027975a816cc2348f9ec95ee9d3a518a19658-d_640x360&src1=http%3A%2F%2Ff.vimeocdn.com%2Fp%2Fimages%2Fcrawler_play.png"
},
{
"width": 960,
"height": 540,
"link": "https://i.vimeocdn.com/video/1409486914-4bbe465e338670520c33809a2af027975a816cc2348f9ec95ee9d3a518a19658-d_960x540?r=pad",
"link_with_play_button": "https://i.vimeocdn.com/filter/overlay?src0=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F1409486914-4bbe465e338670520c33809a2af027975a816cc2348f9ec95ee9d3a518a19658-d_960x540&src1=http%3A%2F%2Ff.vimeocdn.com%2Fp%2Fimages%2Fcrawler_play.png"
},
{
"width": 1280,
"height": 720,
"link": "https://i.vimeocdn.com/video/1409486914-4bbe465e338670520c33809a2af027975a816cc2348f9ec95ee9d3a518a19658-d_1280x720?r=pad",
"link_with_play_button": "https://i.vimeocdn.com/filter/overlay?src0=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F1409486914-4bbe465e338670520c33809a2af027975a816cc2348f9ec95ee9d3a518a19658-d_1280x720&src1=http%3A%2F%2Ff.vimeocdn.com%2Fp%2Fimages%2Fcrawler_play.png"
},
{
"width": 1920,
"height": 1080,
"link": "https://i.vimeocdn.com/video/1409486914-4bbe465e338670520c33809a2af027975a816cc2348f9ec95ee9d3a518a19658-d_1920x1080?r=pad",
"link_with_play_button": "https://i.vimeocdn.com/filter/overlay?src0=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F1409486914-4bbe465e338670520c33809a2af027975a816cc2348f9ec95ee9d3a518a19658-d_1920x1080&src1=http%3A%2F%2Ff.vimeocdn.com%2Fp%2Fimages%2Fcrawler_play.png"
}
],
"resource_key": "e434bbf7514f619adf394f2c4612d196ac3a21d5",
"default_picture": false
},
"tags": [],
"stats": {
"plays": null
},
"categories": [],
"uploader": {
"pictures": {
"uri": "/users/169594686/pictures/69008030",
"active": true,
"type": "custom",
"base_link": "https://i.vimeocdn.com/portrait/69008030",
"sizes": [
{
"width": 30,
"height": 30,
"link": "https://i.vimeocdn.com/portrait/69008030_30x30"
},
{
"width": 72,
"height": 72,
"link": "https://i.vimeocdn.com/portrait/69008030_72x72"
},
{
"width": 75,
"height": 75,
"link": "https://i.vimeocdn.com/portrait/69008030_75x75"
},
{
"width": 100,
"height": 100,
"link": "https://i.vimeocdn.com/portrait/69008030_100x100"
},
{
"width": 144,
"height": 144,
"link": "https://i.vimeocdn.com/portrait/69008030_144x144"
},
{
"width": 216,
"height": 216,
"link": "https://i.vimeocdn.com/portrait/69008030_216x216"
},
{
"width": 288,
"height": 288,
"link": "https://i.vimeocdn.com/portrait/69008030_288x288"
},
{
"width": 300,
"height": 300,
"link": "https://i.vimeocdn.com/portrait/69008030_300x300"
},
{
"width": 360,
"height": 360,
"link": "https://i.vimeocdn.com/portrait/69008030_360x360"
}
],
"resource_key": "2d541ded34e5594cb359b509b2adbd4c7083f0d9",
"default_picture": false
}
},
"metadata": {
"connections": {
"comments": {
"uri": "/videos/696849247/comments",
"options": [
"GET"
],
"total": 0
},
"credits": {
"uri": "/videos/696849247/credits",
"options": [
"GET",
"POST"
],
"total": 0
},
"likes": {
"uri": "/videos/696849247/likes",
"options": [
"GET"
],
"total": 0
},
"pictures": {
"uri": "/videos/696849247/pictures",
"options": [
"GET",
"POST"
],
"total": 1
},
"texttracks": {
"uri": "/videos/696849247/texttracks",
"options": [
"GET",
"POST"
],
"total": 0
},
"related": {
"uri": "/me/videos?page=1&per_page=10&offset=7",
"options": [
"GET"
]
},
"recommendations": {
"uri": "/videos/696849247/recommendations",
"options": [
"GET"
]
}
},
"interactions": {
"report": {
"uri": "/videos/696849247/report",
"options": [
"POST"
],
"reason": [
"pornographic",
"harassment",
"ripoff",
"incorrect rating",
"spam",
"causes harm",
"csam"
]
}
},
"is_vimeo_create": false,
"is_screen_record": false
},
"user": {
"uri": "/users/169594686",
"name": "Asim Sarwar",
"link": "https://vimeo.com/user169594686",
"capabilities": {
"hasLiveSubscription": false,
"hasEnterpriseLihp": false,
"hasSvvTimecodedComments": false
},
"location": "",
"gender": "",
"bio": null,
"short_bio": null,
"created_time": "2022-03-15T09:13:35+00:00",
"pictures": {
"uri": "/users/169594686/pictures/69008030",
"active": true,
"type": "custom",
"base_link": "https://i.vimeocdn.com/portrait/69008030",
"sizes": [
{
"width": 30,
"height": 30,
"link": "https://i.vimeocdn.com/portrait/69008030_30x30"
},
{
"width": 72,
"height": 72,
"link": "https://i.vimeocdn.com/portrait/69008030_72x72"
},
{
"width": 75,
"height": 75,
"link": "https://i.vimeocdn.com/portrait/69008030_75x75"
},
{
"width": 100,
"height": 100,
"link": "https://i.vimeocdn.com/portrait/69008030_100x100"
},
{
"width": 144,
"height": 144,
"link": "https://i.vimeocdn.com/portrait/69008030_144x144"
},
{
"width": 216,
"height": 216,
"link": "https://i.vimeocdn.com/portrait/69008030_216x216"
},
{
"width": 288,
"height": 288,
"link": "https://i.vimeocdn.com/portrait/69008030_288x288"
},
{
"width": 300,
"height": 300,
"link": "https://i.vimeocdn.com/portrait/69008030_300x300"
},
{
"width": 360,
"height": 360,
"link": "https://i.vimeocdn.com/portrait/69008030_360x360"
}
],
"resource_key": "2d541ded34e5594cb359b509b2adbd4c7083f0d9",
"default_picture": false
},
"websites": [],
"metadata": {
"connections": {
"albums": {
"uri": "/users/169594686/albums",
"options": [
"GET"
],
"total": 0
},
"appearances": {
"uri": "/users/169594686/appearances",
"options": [
"GET"
],
"total": 0
},
"channels": {
"uri": "/users/169594686/channels",
"options": [
"GET"
],
"total": 0
},
"feed": {
"uri": "/users/169594686/feed",
"options": [
"GET"
]
},
"followers": {
"uri": "/users/169594686/followers",
"options": [
"GET"
],
"total": 0
},
"following": {
"uri": "/users/169594686/following",
"options": [
"GET"
],
"total": 0
},
"groups": {
"uri": "/users/169594686/groups",
"options": [
"GET"
],
"total": 0
},
"likes": {
"uri": "/users/169594686/likes",
"options": [
"GET"
],
"total": 0
},
"membership": {
"uri": "/users/169594686/membership/",
"options": [
"PATCH"
]
},
"moderated_channels": {
"uri": "/users/169594686/channels?filter=moderated",
"options": [
"GET"
],
"total": 0
},
"portfolios": {
"uri": "/users/169594686/portfolios",
"options": [
"GET"
],
"total": 0
},
"videos": {
"uri": "/users/169594686/videos",
"options": [
"GET"
],
"total": 14
},
"shared": {
"uri": "/users/169594686/shared/videos",
"options": [
"GET"
],
"total": 0
},
"pictures": {
"uri": "/users/169594686/pictures",
"options": [
"GET",
"POST"
],
"total": 1
},
"folders_root": {
"uri": "/users/169594686/folders/root",
"options": [
"GET"
]
},
"teams": {
"uri": "/users/169594686/teams",
"options": [
"GET"
],
"total": 1
}
}
},
"location_details": {
"formatted_address": "",
"latitude": null,
"longitude": null,
"city": null,
"state": null,
"neighborhood": null,
"sub_locality": null,
"state_iso_code": null,
"country": null,
"country_iso_code": null
},
"skills": [],
"available_for_hire": false,
"can_work_remotely": false,
"resource_key": "e3dd8937e5113a36f98fcba2a7c92a61e05bfb75",
"account": "basic"
},
"play": {
"status": "playable"
},
"app": {
"name": "Parallel Uploader",
"uri": "/apps/87099"
},
"status": "available",
"resource_key": "af2ee02d9cd29f509910c5b2b2b906c6813e328a",
"upload": null,
"transcode": null,
"is_playable": true,
"has_audio": true
},
{
"uri": "/videos/696848018",
"name": "Plexus Lines Background.mp4",
"description": null,
"type": "video",
"link": "https://vimeo.com/696848018",
"player_embed_url": "https://player.vimeo.com/video/696848018?h=8fbb383fdd",
"duration": 20,
"width": 1280,
"language": null,
"height": 720,
"embed": {
"html": "<iframe src=\"https://player.vimeo.com/video/696848018?h=8fbb383fdd&badge=0&autopause=0&player_id=0&app_id=246316\" width=\"1280\" height=\"720\" frameborder=\"0\" allow=\"autoplay; fullscreen; picture-in-picture\" allowfullscreen title=\"Plexus Lines Background.mp4\"></iframe>",
"badges": {
"hdr": false,
"live": {
"streaming": false,
"archived": false
},
"staff_pick": {
"normal": false,
"best_of_the_month": false,
"best_of_the_year": false,
"premiere": false
},
"vod": false,
"weekend_challenge": false
}
},
"created_time": "2022-04-07T06:38:41+00:00",
"modified_time": "2022-04-07T06:41:53+00:00",
"release_time": "2022-04-07T06:38:41+00:00",
"content_rating": [
"unrated"
],
"content_rating_class": "unrated",
"rating_mod_locked": false,
"license": null,
"privacy": {
"view": "anybody",
"embed": "public",
"download": false,
"add": true,
"comments": "anybody"
},
"pictures": {
"uri": "/videos/696848018/pictures/1409484982",
"active": true,
"type": "custom",
"base_link": "https://i.vimeocdn.com/video/1409484982-e382a8324b82269cec882d89e66dcc88341e007d299091bba582d2f60f74912c-d",
"sizes": [
{
"width": 100,
"height": 75,
"link": "https://i.vimeocdn.com/video/1409484982-e382a8324b82269cec882d89e66dcc88341e007d299091bba582d2f60f74912c-d_100x75?r=pad",
"link_with_play_button": "https://i.vimeocdn.com/filter/overlay?src0=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F1409484982-e382a8324b82269cec882d89e66dcc88341e007d299091bba582d2f60f74912c-d_100x75&src1=http%3A%2F%2Ff.vimeocdn.com%2Fp%2Fimages%2Fcrawler_play.png"
},
{
"width": 200,
"height": 150,
"link": "https://i.vimeocdn.com/video/1409484982-e382a8324b82269cec882d89e66dcc88341e007d299091bba582d2f60f74912c-d_200x150?r=pad",
"link_with_play_button": "https://i.vimeocdn.com/filter/overlay?src0=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F1409484982-e382a8324b82269cec882d89e66dcc88341e007d299091bba582d2f60f74912c-d_200x150&src1=http%3A%2F%2Ff.vimeocdn.com%2Fp%2Fimages%2Fcrawler_play.png"
},
{
"width": 295,
"height": 166,
"link": "https://i.vimeocdn.com/video/1409484982-e382a8324b82269cec882d89e66dcc88341e007d299091bba582d2f60f74912c-d_295x166?r=pad",
"link_with_play_button": "https://i.vimeocdn.com/filter/overlay?src0=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F1409484982-e382a8324b82269cec882d89e66dcc88341e007d299091bba582d2f60f74912c-d_295x166&src1=http%3A%2F%2Ff.vimeocdn.com%2Fp%2Fimages%2Fcrawler_play.png"
},
{
"width": 640,
"height": 360,
"link": "https://i.vimeocdn.com/video/1409484982-e382a8324b82269cec882d89e66dcc88341e007d299091bba582d2f60f74912c-d_640x360?r=pad",
"link_with_play_button": "https://i.vimeocdn.com/filter/overlay?src0=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F1409484982-e382a8324b82269cec882d89e66dcc88341e007d299091bba582d2f60f74912c-d_640x360&src1=http%3A%2F%2Ff.vimeocdn.com%2Fp%2Fimages%2Fcrawler_play.png"
},
{
"width": 960,
"height": 540,
"link": "https://i.vimeocdn.com/video/1409484982-e382a8324b82269cec882d89e66dcc88341e007d299091bba582d2f60f74912c-d_960x540?r=pad",
"link_with_play_button": "https://i.vimeocdn.com/filter/overlay?src0=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F1409484982-e382a8324b82269cec882d89e66dcc88341e007d299091bba582d2f60f74912c-d_960x540&src1=http%3A%2F%2Ff.vimeocdn.com%2Fp%2Fimages%2Fcrawler_play.png"
},
{
"width": 1280,
"height": 720,
"link": "https://i.vimeocdn.com/video/1409484982-e382a8324b82269cec882d89e66dcc88341e007d299091bba582d2f60f74912c-d_1280x720?r=pad",
"link_with_play_button": "https://i.vimeocdn.com/filter/overlay?src0=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F1409484982-e382a8324b82269cec882d89e66dcc88341e007d299091bba582d2f60f74912c-d_1280x720&src1=http%3A%2F%2Ff.vimeocdn.com%2Fp%2Fimages%2Fcrawler_play.png"
},
{
"width": 1920,
"height": 1080,
"link": "https://i.vimeocdn.com/video/1409484982-e382a8324b82269cec882d89e66dcc88341e007d299091bba582d2f60f74912c-d_1920x1080?r=pad",
"link_with_play_button": "https://i.vimeocdn.com/filter/overlay?src0=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F1409484982-e382a8324b82269cec882d89e66dcc88341e007d299091bba582d2f60f74912c-d_1920x1080&src1=http%3A%2F%2Ff.vimeocdn.com%2Fp%2Fimages%2Fcrawler_play.png"
}
],
"resource_key": "439d2a45397869f8818073e5712bbe81b2eb7f50",
"default_picture": false
},
"tags": [],
"stats": {
"plays": null
},
"categories": [],
"uploader": {
"pictures": {
"uri": "/users/169594686/pictures/69008030",
"active": true,
"type": "custom",
"base_link": "https://i.vimeocdn.com/portrait/69008030",
"sizes": [
{
"width": 30,
"height": 30,
"link": "https://i.vimeocdn.com/portrait/69008030_30x30"
},
{
"width": 72,
"height": 72,
"link": "https://i.vimeocdn.com/portrait/69008030_72x72"
},
{
"width": 75,
"height": 75,
"link": "https://i.vimeocdn.com/portrait/69008030_75x75"
},
{
"width": 100,
"height": 100,
"link": "https://i.vimeocdn.com/portrait/69008030_100x100"
},
{
"width": 144,
"height": 144,
"link": "https://i.vimeocdn.com/portrait/69008030_144x144"
},
{
"width": 216,
"height": 216,
"link": "https://i.vimeocdn.com/portrait/69008030_216x216"
},
{
"width": 288,
"height": 288,
"link": "https://i.vimeocdn.com/portrait/69008030_288x288"
},
{
"width": 300,
"height": 300,
"link": "https://i.vimeocdn.com/portrait/69008030_300x300"
},
{
"width": 360,
"height": 360,
"link": "https://i.vimeocdn.com/portrait/69008030_360x360"
}
],
"resource_key": "2d541ded34e5594cb359b509b2adbd4c7083f0d9",
"default_picture": false
}
},
"metadata": {
"connections": {
"comments": {
"uri": "/videos/696848018/comments",
"options": [
"GET"
],
"total": 0
},
"credits": {
"uri": "/videos/696848018/credits",
"options": [
"GET",
"POST"
],
"total": 0
},
"likes": {
"uri": "/videos/696848018/likes",
"options": [
"GET"
],
"total": 0
},
"pictures": {
"uri": "/videos/696848018/pictures",
"options": [
"GET",
"POST"
],
"total": 1
},
"texttracks": {
"uri": "/videos/696848018/texttracks",
"options": [
"GET",
"POST"
],
"total": 0
},
"related": {
"uri": "/me/videos?page=1&per_page=10&offset=8",
"options": [
"GET"
]
},
"recommendations": {
"uri": "/videos/696848018/recommendations",
"options": [
"GET"
]
}
},
"interactions": {
"report": {
"uri": "/videos/696848018/report",
"options": [
"POST"
],
"reason": [
"pornographic",
"harassment",
"ripoff",
"incorrect rating",
"spam",
"causes harm",
"csam"
]
}
},
"is_vimeo_create": false,
"is_screen_record": false
},
"user": {
"uri": "/users/169594686",
"name": "Asim Sarwar",
"link": "https://vimeo.com/user169594686",
"capabilities": {
"hasLiveSubscription": false,
"hasEnterpriseLihp": false,
"hasSvvTimecodedComments": false
},
"location": "",
"gender": "",
"bio": null,
"short_bio": null,
"created_time": "2022-03-15T09:13:35+00:00",
"pictures": {
"uri": "/users/169594686/pictures/69008030",
"active": true,
"type": "custom",
"base_link": "https://i.vimeocdn.com/portrait/69008030",
"sizes": [
{
"width": 30,
"height": 30,
"link": "https://i.vimeocdn.com/portrait/69008030_30x30"
},
{
"width": 72,
"height": 72,
"link": "https://i.vimeocdn.com/portrait/69008030_72x72"
},
{
"width": 75,
"height": 75,
"link": "https://i.vimeocdn.com/portrait/69008030_75x75"
},
{
"width": 100,
"height": 100,
"link": "https://i.vimeocdn.com/portrait/69008030_100x100"
},
{
"width": 144,
"height": 144,
"link": "https://i.vimeocdn.com/portrait/69008030_144x144"
},
{
"width": 216,
"height": 216,
"link": "https://i.vimeocdn.com/portrait/69008030_216x216"
},
{
"width": 288,
"height": 288,
"link": "https://i.vimeocdn.com/portrait/69008030_288x288"
},
{
"width": 300,
"height": 300,
"link": "https://i.vimeocdn.com/portrait/69008030_300x300"
},
{
"width": 360,
"height": 360,
"link": "https://i.vimeocdn.com/portrait/69008030_360x360"
}
],
"resource_key": "2d541ded34e5594cb359b509b2adbd4c7083f0d9",
"default_picture": false
},
"websites": [],
"metadata": {
"connections": {
"albums": {
"uri": "/users/169594686/albums",
"options": [
"GET"
],
"total": 0
},
"appearances": {
"uri": "/users/169594686/appearances",
"options": [
"GET"
],
"total": 0
},
"channels": {
"uri": "/users/169594686/channels",
"options": [
"GET"
],
"total": 0
},
"feed": {
"uri": "/users/169594686/feed",
"options": [
"GET"
]
},
"followers": {
"uri": "/users/169594686/followers",
"options": [
"GET"
],
"total": 0
},
"following": {
"uri": "/users/169594686/following",
"options": [
"GET"
],
"total": 0
},
"groups": {
"uri": "/users/169594686/groups",
"options": [
"GET"
],
"total": 0
},
"likes": {
"uri": "/users/169594686/likes",
"options": [
"GET"
],
"total": 0
},
"membership": {
"uri": "/users/169594686/membership/",
"options": [
"PATCH"
]
},
"moderated_channels": {
"uri": "/users/169594686/channels?filter=moderated",
"options": [
"GET"
],
"total": 0
},
"portfolios": {
"uri": "/users/169594686/portfolios",
"options": [
"GET"
],
"total": 0
},
"videos": {
"uri": "/users/169594686/videos",
"options": [
"GET"
],
"total": 14
},
"shared": {
"uri": "/users/169594686/shared/videos",
"options": [
"GET"
],
"total": 0
},
"pictures": {
"uri": "/users/169594686/pictures",
"options": [
"GET",
"POST"
],
"total": 1
},
"folders_root": {
"uri": "/users/169594686/folders/root",
"options": [
"GET"
]
},
"teams": {
"uri": "/users/169594686/teams",
"options": [
"GET"
],
"total": 1
}
}
},
"location_details": {
"formatted_address": "",
"latitude": null,
"longitude": null,
"city": null,
"state": null,
"neighborhood": null,
"sub_locality": null,
"state_iso_code": null,
"country": null,
"country_iso_code": null
},
"skills": [],
"available_for_hire": false,
"can_work_remotely": false,
"resource_key": "e3dd8937e5113a36f98fcba2a7c92a61e05bfb75",
"account": "basic"
},
"play": {
"status": "playable"
},
"app": {
"name": "Parallel Uploader",
"uri": "/apps/87099"
},
"status": "available",
"resource_key": "df5188a8fa1bd6319687dd813f04c70686c5d457",
"upload": null,
"transcode": null,
"is_playable": true,
"has_audio": true
},
{
"uri": "/videos/696847412",
"name": "COLOR PARTICULAR.mp4",
"description": null,
"type": "video",
"link": "https://vimeo.com/696847412",
"player_embed_url": "https://player.vimeo.com/video/696847412?h=c14ce395bf",
"duration": 20,
"width": 1280,
"language": null,
"height": 720,
"embed": {
"html": "<iframe src=\"https://player.vimeo.com/video/696847412?h=c14ce395bf&badge=0&autopause=0&player_id=0&app_id=246316\" width=\"1280\" height=\"720\" frameborder=\"0\" allow=\"autoplay; fullscreen; picture-in-picture\" allowfullscreen title=\"COLOR PARTICULAR.mp4\"></iframe>",
"badges": {
"hdr": false,
"live": {
"streaming": false,
"archived": false
},
"staff_pick": {
"normal": false,
"best_of_the_month": false,
"best_of_the_year": false,
"premiere": false
},
"vod": false,
"weekend_challenge": false
}
},
"created_time": "2022-04-07T06:35:51+00:00",
"modified_time": "2022-04-07T06:37:13+00:00",
"release_time": "2022-04-07T06:35:51+00:00",
"content_rating": [
"unrated"
],
"content_rating_class": "unrated",
"rating_mod_locked": false,
"license": null,
"privacy": {
"view": "anybody",
"embed": "public",
"download": false,
"add": true,
"comments": "anybody"
},
"pictures": {
"uri": "/videos/696847412/pictures/1409482879",
"active": true,
"type": "custom",
"base_link": "https://i.vimeocdn.com/video/1409482879-8a075ff8394054113ad4a17d2f29e1e07916fb0d46fcd6800f7e80bf98216a76-d",
"sizes": [
{
"width": 100,
"height": 75,
"link": "https://i.vimeocdn.com/video/1409482879-8a075ff8394054113ad4a17d2f29e1e07916fb0d46fcd6800f7e80bf98216a76-d_100x75?r=pad",
"link_with_play_button": "https://i.vimeocdn.com/filter/overlay?src0=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F1409482879-8a075ff8394054113ad4a17d2f29e1e07916fb0d46fcd6800f7e80bf98216a76-d_100x75&src1=http%3A%2F%2Ff.vimeocdn.com%2Fp%2Fimages%2Fcrawler_play.png"
},
{
"width": 200,
"height": 150,
"link": "https://i.vimeocdn.com/video/1409482879-8a075ff8394054113ad4a17d2f29e1e07916fb0d46fcd6800f7e80bf98216a76-d_200x150?r=pad",
"link_with_play_button": "https://i.vimeocdn.com/filter/overlay?src0=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F1409482879-8a075ff8394054113ad4a17d2f29e1e07916fb0d46fcd6800f7e80bf98216a76-d_200x150&src1=http%3A%2F%2Ff.vimeocdn.com%2Fp%2Fimages%2Fcrawler_play.png"
},
{
"width": 295,
"height": 166,
"link": "https://i.vimeocdn.com/video/1409482879-8a075ff8394054113ad4a17d2f29e1e07916fb0d46fcd6800f7e80bf98216a76-d_295x166?r=pad",
"link_with_play_button": "https://i.vimeocdn.com/filter/overlay?src0=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F1409482879-8a075ff8394054113ad4a17d2f29e1e07916fb0d46fcd6800f7e80bf98216a76-d_295x166&src1=http%3A%2F%2Ff.vimeocdn.com%2Fp%2Fimages%2Fcrawler_play.png"
},
{
"width": 640,
"height": 360,
"link": "https://i.vimeocdn.com/video/1409482879-8a075ff8394054113ad4a17d2f29e1e07916fb0d46fcd6800f7e80bf98216a76-d_640x360?r=pad",
"link_with_play_button": "https://i.vimeocdn.com/filter/overlay?src0=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F1409482879-8a075ff8394054113ad4a17d2f29e1e07916fb0d46fcd6800f7e80bf98216a76-d_640x360&src1=http%3A%2F%2Ff.vimeocdn.com%2Fp%2Fimages%2Fcrawler_play.png"
},
{
"width": 960,
"height": 540,
"link": "https://i.vimeocdn.com/video/1409482879-8a075ff8394054113ad4a17d2f29e1e07916fb0d46fcd6800f7e80bf98216a76-d_960x540?r=pad",
"link_with_play_button": "https://i.vimeocdn.com/filter/overlay?src0=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F1409482879-8a075ff8394054113ad4a17d2f29e1e07916fb0d46fcd6800f7e80bf98216a76-d_960x540&src1=http%3A%2F%2Ff.vimeocdn.com%2Fp%2Fimages%2Fcrawler_play.png"
},
{
"width": 1280,
"height": 720,
"link": "https://i.vimeocdn.com/video/1409482879-8a075ff8394054113ad4a17d2f29e1e07916fb0d46fcd6800f7e80bf98216a76-d_1280x720?r=pad",
"link_with_play_button": "https://i.vimeocdn.com/filter/overlay?src0=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F1409482879-8a075ff8394054113ad4a17d2f29e1e07916fb0d46fcd6800f7e80bf98216a76-d_1280x720&src1=http%3A%2F%2Ff.vimeocdn.com%2Fp%2Fimages%2Fcrawler_play.png"
},
{
"width": 1920,
"height": 1080,
"link": "https://i.vimeocdn.com/video/1409482879-8a075ff8394054113ad4a17d2f29e1e07916fb0d46fcd6800f7e80bf98216a76-d_1920x1080?r=pad",
"link_with_play_button": "https://i.vimeocdn.com/filter/overlay?src0=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F1409482879-8a075ff8394054113ad4a17d2f29e1e07916fb0d46fcd6800f7e80bf98216a76-d_1920x1080&src1=http%3A%2F%2Ff.vimeocdn.com%2Fp%2Fimages%2Fcrawler_play.png"
}
],
"resource_key": "d93289262c905eca36f7ac9fc70777c4988cf59c",
"default_picture": false
},
"tags": [],
"stats": {
"plays": null
},
"categories": [],
"uploader": {
"pictures": {
"uri": "/users/169594686/pictures/69008030",
"active": true,
"type": "custom",
"base_link": "https://i.vimeocdn.com/portrait/69008030",
"sizes": [
{
"width": 30,
"height": 30,
"link": "https://i.vimeocdn.com/portrait/69008030_30x30"
},
{
"width": 72,
"height": 72,
"link": "https://i.vimeocdn.com/portrait/69008030_72x72"
},
{
"width": 75,
"height": 75,
"link": "https://i.vimeocdn.com/portrait/69008030_75x75"
},
{
"width": 100,
"height": 100,
"link": "https://i.vimeocdn.com/portrait/69008030_100x100"
},
{
"width": 144,
"height": 144,
"link": "https://i.vimeocdn.com/portrait/69008030_144x144"
},
{
"width": 216,
"height": 216,
"link": "https://i.vimeocdn.com/portrait/69008030_216x216"
},
{
"width": 288,
"height": 288,
"link": "https://i.vimeocdn.com/portrait/69008030_288x288"
},
{
"width": 300,
"height": 300,
"link": "https://i.vimeocdn.com/portrait/69008030_300x300"
},
{
"width": 360,
"height": 360,
"link": "https://i.vimeocdn.com/portrait/69008030_360x360"
}
],
"resource_key": "2d541ded34e5594cb359b509b2adbd4c7083f0d9",
"default_picture": false
}
},
"metadata": {
"connections": {
"comments": {
"uri": "/videos/696847412/comments",
"options": [
"GET"
],
"total": 0
},
"credits": {
"uri": "/videos/696847412/credits",
"options": [
"GET",
"POST"
],
"total": 0
},
"likes": {
"uri": "/videos/696847412/likes",
"options": [
"GET"
],
"total": 0
},
"pictures": {
"uri": "/videos/696847412/pictures",
"options": [
"GET",
"POST"
],
"total": 1
},
"texttracks": {
"uri": "/videos/696847412/texttracks",
"options": [
"GET",
"POST"
],
"total": 0
},
"related": {
"uri": "/me/videos?page=1&per_page=10&offset=9",
"options": [
"GET"
]
},
"recommendations": {
"uri": "/videos/696847412/recommendations",
"options": [
"GET"
]
}
},
"interactions": {
"report": {
"uri": "/videos/696847412/report",
"options": [
"POST"
],
"reason": [
"pornographic",
"harassment",
"ripoff",
"incorrect rating",
"spam",
"causes harm",
"csam"
]
}
},
"is_vimeo_create": false,
"is_screen_record": false
},
"user": {
"uri": "/users/169594686",
"name": "Asim Sarwar",
"link": "https://vimeo.com/user169594686",
"capabilities": {
"hasLiveSubscription": false,
"hasEnterpriseLihp": false,
"hasSvvTimecodedComments": false
},
"location": "",
"gender": "",
"bio": null,
"short_bio": null,
"created_time": "2022-03-15T09:13:35+00:00",
"pictures": {
"uri": "/users/169594686/pictures/69008030",
"active": true,
"type": "custom",
"base_link": "https://i.vimeocdn.com/portrait/69008030",
"sizes": [
{
"width": 30,
"height": 30,
"link": "https://i.vimeocdn.com/portrait/69008030_30x30"
},
{
"width": 72,
"height": 72,
"link": "https://i.vimeocdn.com/portrait/69008030_72x72"
},
{
"width": 75,
"height": 75,
"link": "https://i.vimeocdn.com/portrait/69008030_75x75"
},
{
"width": 100,
"height": 100,
"link": "https://i.vimeocdn.com/portrait/69008030_100x100"
},
{
"width": 144,
"height": 144,
"link": "https://i.vimeocdn.com/portrait/69008030_144x144"
},
{
"width": 216,
"height": 216,
"link": "https://i.vimeocdn.com/portrait/69008030_216x216"
},
{
"width": 288,
"height": 288,
"link": "https://i.vimeocdn.com/portrait/69008030_288x288"
},
{
"width": 300,
"height": 300,
"link": "https://i.vimeocdn.com/portrait/69008030_300x300"
},
{
"width": 360,
"height": 360,
"link": "https://i.vimeocdn.com/portrait/69008030_360x360"
}
],
"resource_key": "2d541ded34e5594cb359b509b2adbd4c7083f0d9",
"default_picture": false
},
"websites": [],
"metadata": {
"connections": {
"albums": {
"uri": "/users/169594686/albums",
"options": [
"GET"
],
"total": 0
},
"appearances": {
"uri": "/users/169594686/appearances",
"options": [
"GET"
],
"total": 0
},
"channels": {
"uri": "/users/169594686/channels",
"options": [
"GET"
],
"total": 0
},
"feed": {
"uri": "/users/169594686/feed",
"options": [
"GET"
]
},
"followers": {
"uri": "/users/169594686/followers",
"options": [
"GET"
],
"total": 0
},
"following": {
"uri": "/users/169594686/following",
"options": [
"GET"
],
"total": 0
},
"groups": {
"uri": "/users/169594686/groups",
"options": [
"GET"
],
"total": 0
},
"likes": {
"uri": "/users/169594686/likes",
"options": [
"GET"
],
"total": 0
},
"membership": {
"uri": "/users/169594686/membership/",
"options": [
"PATCH"
]
},
"moderated_channels": {
"uri": "/users/169594686/channels?filter=moderated",
"options": [
"GET"
],
"total": 0
},
"portfolios": {
"uri": "/users/169594686/portfolios",
"options": [
"GET"
],
"total": 0
},
"videos": {
"uri": "/users/169594686/videos",
"options": [
"GET"
],
"total": 14
},
"shared": {
"uri": "/users/169594686/shared/videos",
"options": [
"GET"
],
"total": 0
},
"pictures": {
"uri": "/users/169594686/pictures",
"options": [
"GET",
"POST"
],
"total": 1
},
"folders_root": {
"uri": "/users/169594686/folders/root",
"options": [
"GET"
]
},
"teams": {
"uri": "/users/169594686/teams",
"options": [
"GET"
],
"total": 1
}
}
},
"location_details": {
"formatted_address": "",
"latitude": null,
"longitude": null,
"city": null,
"state": null,
"neighborhood": null,
"sub_locality": null,
"state_iso_code": null,
"country": null,
"country_iso_code": null
},
"skills": [],
"available_for_hire": false,
"can_work_remotely": false,
"resource_key": "e3dd8937e5113a36f98fcba2a7c92a61e05bfb75",
"account": "basic"
},
"play": {
"status": "playable"
},
"app": {
"name": "Parallel Uploader",
"uri": "/apps/87099"
},
"status": "available",
"resource_key": "a35ca99a3b86c4966ade2fff2ba215882a0c3026",
"upload": null,
"transcode": null,
"is_playable": true,
"has_audio": true
},
{
"uri": "/videos/696518977",
"name": "PARTICULAR STARS.mp4",
"description": null,
"type": "video",
"link": "https://vimeo.com/696518977",
"player_embed_url": "https://player.vimeo.com/video/696518977?h=a832c5d817",
"duration": 20,
"width": 1280,
"language": null,
"height": 720,
"embed": {
"html": "<iframe src=\"https://player.vimeo.com/video/696518977?h=a832c5d817&badge=0&autopause=0&player_id=0&app_id=246316\" width=\"1280\" height=\"720\" frameborder=\"0\" allow=\"autoplay; fullscreen; picture-in-picture\" allowfullscreen title=\"PARTICULAR STARS.mp4\"></iframe>",
"badges": {
"hdr": false,
"live": {
"streaming": false,
"archived": false
},
"staff_pick": {
"normal": false,
"best_of_the_month": false,
"best_of_the_year": false,
"premiere": false
},
"vod": false,
"weekend_challenge": false
}
},
"created_time": "2022-04-06T12:25:45+00:00",
"modified_time": "2022-10-11T12:10:43+00:00",
"release_time": "2022-04-06T12:25:45+00:00",
"content_rating": [
"unrated"
],
"content_rating_class": "unrated",
"rating_mod_locked": false,
"license": null,
"privacy": {
"view": "anybody",
"embed": "public",
"download": false,
"add": true,
"comments": "anybody"
},
"pictures": {
"uri": "/videos/696518977/pictures/1408757138",
"active": true,
"type": "custom",
"base_link": "https://i.vimeocdn.com/video/1408757138-ea19c524b39727bb02e5ef250707fcd3db27eb97492bc09e5468b9bab17c0f18-d",
"sizes": [
{
"width": 100,
"height": 75,
"link": "https://i.vimeocdn.com/video/1408757138-ea19c524b39727bb02e5ef250707fcd3db27eb97492bc09e5468b9bab17c0f18-d_100x75?r=pad",
"link_with_play_button": "https://i.vimeocdn.com/filter/overlay?src0=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F1408757138-ea19c524b39727bb02e5ef250707fcd3db27eb97492bc09e5468b9bab17c0f18-d_100x75&src1=http%3A%2F%2Ff.vimeocdn.com%2Fp%2Fimages%2Fcrawler_play.png"
},
{
"width": 200,
"height": 150,
"link": "https://i.vimeocdn.com/video/1408757138-ea19c524b39727bb02e5ef250707fcd3db27eb97492bc09e5468b9bab17c0f18-d_200x150?r=pad",
"link_with_play_button": "https://i.vimeocdn.com/filter/overlay?src0=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F1408757138-ea19c524b39727bb02e5ef250707fcd3db27eb97492bc09e5468b9bab17c0f18-d_200x150&src1=http%3A%2F%2Ff.vimeocdn.com%2Fp%2Fimages%2Fcrawler_play.png"
},
{
"width": 295,
"height": 166,
"link": "https://i.vimeocdn.com/video/1408757138-ea19c524b39727bb02e5ef250707fcd3db27eb97492bc09e5468b9bab17c0f18-d_295x166?r=pad",
"link_with_play_button": "https://i.vimeocdn.com/filter/overlay?src0=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F1408757138-ea19c524b39727bb02e5ef250707fcd3db27eb97492bc09e5468b9bab17c0f18-d_295x166&src1=http%3A%2F%2Ff.vimeocdn.com%2Fp%2Fimages%2Fcrawler_play.png"
},
{
"width": 640,
"height": 360,
"link": "https://i.vimeocdn.com/video/1408757138-ea19c524b39727bb02e5ef250707fcd3db27eb97492bc09e5468b9bab17c0f18-d_640x360?r=pad",
"link_with_play_button": "https://i.vimeocdn.com/filter/overlay?src0=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F1408757138-ea19c524b39727bb02e5ef250707fcd3db27eb97492bc09e5468b9bab17c0f18-d_640x360&src1=http%3A%2F%2Ff.vimeocdn.com%2Fp%2Fimages%2Fcrawler_play.png"
},
{
"width": 960,
"height": 540,
"link": "https://i.vimeocdn.com/video/1408757138-ea19c524b39727bb02e5ef250707fcd3db27eb97492bc09e5468b9bab17c0f18-d_960x540?r=pad",
"link_with_play_button": "https://i.vimeocdn.com/filter/overlay?src0=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F1408757138-ea19c524b39727bb02e5ef250707fcd3db27eb97492bc09e5468b9bab17c0f18-d_960x540&src1=http%3A%2F%2Ff.vimeocdn.com%2Fp%2Fimages%2Fcrawler_play.png"
},
{
"width": 1280,
"height": 720,
"link": "https://i.vimeocdn.com/video/1408757138-ea19c524b39727bb02e5ef250707fcd3db27eb97492bc09e5468b9bab17c0f18-d_1280x720?r=pad",
"link_with_play_button": "https://i.vimeocdn.com/filter/overlay?src0=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F1408757138-ea19c524b39727bb02e5ef250707fcd3db27eb97492bc09e5468b9bab17c0f18-d_1280x720&src1=http%3A%2F%2Ff.vimeocdn.com%2Fp%2Fimages%2Fcrawler_play.png"
},
{
"width": 1920,
"height": 1080,
"link": "https://i.vimeocdn.com/video/1408757138-ea19c524b39727bb02e5ef250707fcd3db27eb97492bc09e5468b9bab17c0f18-d_1920x1080?r=pad",
"link_with_play_button": "https://i.vimeocdn.com/filter/overlay?src0=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F1408757138-ea19c524b39727bb02e5ef250707fcd3db27eb97492bc09e5468b9bab17c0f18-d_1920x1080&src1=http%3A%2F%2Ff.vimeocdn.com%2Fp%2Fimages%2Fcrawler_play.png"
}
],
"resource_key": "78dce6076f7c43ea0657d38b740e483b86a091a1",
"default_picture": false
},
"tags": [],
"stats": {
"plays": null
},
"categories": [],
"uploader": {
"pictures": {
"uri": "/users/169594686/pictures/69008030",
"active": true,
"type": "custom",
"base_link": "https://i.vimeocdn.com/portrait/69008030",
"sizes": [
{
"width": 30,
"height": 30,
"link": "https://i.vimeocdn.com/portrait/69008030_30x30"
},
{
"width": 72,
"height": 72,
"link": "https://i.vimeocdn.com/portrait/69008030_72x72"
},
{
"width": 75,
"height": 75,
"link": "https://i.vimeocdn.com/portrait/69008030_75x75"
},
{
"width": 100,
"height": 100,
"link": "https://i.vimeocdn.com/portrait/69008030_100x100"
},
{
"width": 144,
"height": 144,
"link": "https://i.vimeocdn.com/portrait/69008030_144x144"
},
{
"width": 216,
"height": 216,
"link": "https://i.vimeocdn.com/portrait/69008030_216x216"
},
{
"width": 288,
"height": 288,
"link": "https://i.vimeocdn.com/portrait/69008030_288x288"
},
{
"width": 300,
"height": 300,
"link": "https://i.vimeocdn.com/portrait/69008030_300x300"
},
{
"width": 360,
"height": 360,
"link": "https://i.vimeocdn.com/portrait/69008030_360x360"
}
],
"resource_key": "2d541ded34e5594cb359b509b2adbd4c7083f0d9",
"default_picture": false
}
},
"metadata": {
"connections": {
"comments": {
"uri": "/videos/696518977/comments",
"options": [
"GET"
],
"total": 0
},
"credits": {
"uri": "/videos/696518977/credits",
"options": [
"GET",
"POST"
],
"total": 0
},
"likes": {
"uri": "/videos/696518977/likes",
"options": [
"GET"
],
"total": 0
},
"pictures": {
"uri": "/videos/696518977/pictures",
"options": [
"GET",
"POST"
],
"total": 1
},
"texttracks": {
"uri": "/videos/696518977/texttracks",
"options": [
"GET",
"POST"
],
"total": 0
},
"related": {
"uri": "/me/videos?page=1&per_page=10&offset=10",
"options": [
"GET"
]
},
"recommendations": {
"uri": "/videos/696518977/recommendations",
"options": [
"GET"
]
}
},
"interactions": {
"report": {
"uri": "/videos/696518977/report",
"options": [
"POST"
],
"reason": [
"pornographic",
"harassment",
"ripoff",
"incorrect rating",
"spam",
"causes harm",
"csam"
]
}
},
"is_vimeo_create": false,
"is_screen_record": false
},
"user": {
"uri": "/users/169594686",
"name": "Asim Sarwar",
"link": "https://vimeo.com/user169594686",
"capabilities": {
"hasLiveSubscription": false,
"hasEnterpriseLihp": false,
"hasSvvTimecodedComments": false
},
"location": "",
"gender": "",
"bio": null,
"short_bio": null,
"created_time": "2022-03-15T09:13:35+00:00",
"pictures": {
"uri": "/users/169594686/pictures/69008030",
"active": true,
"type": "custom",
"base_link": "https://i.vimeocdn.com/portrait/69008030",
"sizes": [
{
"width": 30,
"height": 30,
"link": "https://i.vimeocdn.com/portrait/69008030_30x30"
},
{
"width": 72,
"height": 72,
"link": "https://i.vimeocdn.com/portrait/69008030_72x72"
},
{
"width": 75,
"height": 75,
"link": "https://i.vimeocdn.com/portrait/69008030_75x75"
},
{
"width": 100,
"height": 100,
"link": "https://i.vimeocdn.com/portrait/69008030_100x100"
},
{
"width": 144,
"height": 144,
"link": "https://i.vimeocdn.com/portrait/69008030_144x144"
},
{
"width": 216,
"height": 216,
"link": "https://i.vimeocdn.com/portrait/69008030_216x216"
},
{
"width": 288,
"height": 288,
"link": "https://i.vimeocdn.com/portrait/69008030_288x288"
},
{
"width": 300,
"height": 300,
"link": "https://i.vimeocdn.com/portrait/69008030_300x300"
},
{
"width": 360,
"height": 360,
"link": "https://i.vimeocdn.com/portrait/69008030_360x360"
}
],
"resource_key": "2d541ded34e5594cb359b509b2adbd4c7083f0d9",
"default_picture": false
},
"websites": [],
"metadata": {
"connections": {
"albums": {
"uri": "/users/169594686/albums",
"options": [
"GET"
],
"total": 0
},
"appearances": {
"uri": "/users/169594686/appearances",
"options": [
"GET"
],
"total": 0
},
"channels": {
"uri": "/users/169594686/channels",
"options": [
"GET"
],
"total": 0
},
"feed": {
"uri": "/users/169594686/feed",
"options": [
"GET"
]
},
"followers": {
"uri": "/users/169594686/followers",
"options": [
"GET"
],
"total": 0
},
"following": {
"uri": "/users/169594686/following",
"options": [
"GET"
],
"total": 0
},
"groups": {
"uri": "/users/169594686/groups",
"options": [
"GET"
],
"total": 0
},
"likes": {
"uri": "/users/169594686/likes",
"options": [
"GET"
],
"total": 0
},
"membership": {
"uri": "/users/169594686/membership/",
"options": [
"PATCH"
]
},
"moderated_channels": {
"uri": "/users/169594686/channels?filter=moderated",
"options": [
"GET"
],
"total": 0
},
"portfolios": {
"uri": "/users/169594686/portfolios",
"options": [
"GET"
],
"total": 0
},
"videos": {
"uri": "/users/169594686/videos",
"options": [
"GET"
],
"total": 14
},
"shared": {
"uri": "/users/169594686/shared/videos",
"options": [
"GET"
],
"total": 0
},
"pictures": {
"uri": "/users/169594686/pictures",
"options": [
"GET",
"POST"
],
"total": 1
},
"folders_root": {
"uri": "/users/169594686/folders/root",
"options": [
"GET"
]
},
"teams": {
"uri": "/users/169594686/teams",
"options": [
"GET"
],
"total": 1
}
}
},
"location_details": {
"formatted_address": "",
"latitude": null,
"longitude": null,
"city": null,
"state": null,
"neighborhood": null,
"sub_locality": null,
"state_iso_code": null,
"country": null,
"country_iso_code": null
},
"skills": [],
"available_for_hire": false,
"can_work_remotely": false,
"resource_key": "e3dd8937e5113a36f98fcba2a7c92a61e05bfb75",
"account": "basic"
},
"play": {
"status": "playable"
},
"app": {
"name": "Parallel Uploader",
"uri": "/apps/87099"
},
"status": "available",
"resource_key": "80cb164c7389a4c828ca3cf5e39685266040015b",
"upload": null,
"transcode": null,
"is_playable": true,
"has_audio": true
}
]
}
Received response:
Request failed with error:
Get My Komodo Videos List
Get the specified Komodo API setting data. Using inside H5p Curriki Interactive Video
Example request:
curl --request POST \
"http://localhost:8000/api/v1/komodo/get-my-video-list" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"page\": \"1\",
\"per_page\": \"10next page and so on\",
\"search\": \"Wildlife\",
\"organization_id\": \"1\"
}"
const url = new URL(
"http://localhost:8000/api/v1/komodo/get-my-video-list"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"page": "1",
"per_page": "10next page and so on",
"search": "Wildlife",
"organization_id": "1"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/komodo/get-my-video-list',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'page' => '1',
'per_page' => '10next page and so on',
'search' => 'Wildlife',
'organization_id' => '1',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (500):
{
"errors": [
"Unable to find Komodo API settings!"
]
}
Example response (200):
{
"total_record": 3,
"page": 1,
"per_page": 10,
"paging": {
"next": null,
"previous": null,
"first": "/api/curriki/v1/recordings?per_page=10&page=1",
"last": "/api/curriki/v1/recordings?per_page=10&page=1"
},
"data": [
{
"id": "P63Y51bGxgpwJKNNW0Rl",
"title": "Test Demo",
"createdAt": "8/31/2022, 9:53:11 AM",
"htmlUrl": "https://komododecks.com/recordings/P63Y51bGxgpwJKNNW0Rl",
"videoUrl": "https://storage.googleapis.com/komodo-280e0.appspot.com/IzFnGEbx3QOiQk1bOIlN0OBVwGx1/P63Y51bGxgpwJKNNW0Rl/index-c2317da67746280b1097c1a92e88a706d8816c132d92bab824f9ad28e7d39187.m3u8",
"previewUrl": "https://storage.googleapis.com/komodo-280e0.appspot.com/IzFnGEbx3QOiQk1bOIlN0OBVwGx1/P63Y51bGxgpwJKNNW0Rl/preview-c2317da67746280b1097c1a92e88a706d8816c132d92bab824f9ad28e7d39187.jpg",
"previewWidth": 1920,
"previewHeight": 1200
},
{
"id": "WpFT8CY7MbWyG50xn7F6",
"title": "Komodo Technologies: Screencasting with ease",
"createdAt": "8/31/2022, 9:50:03 AM",
"htmlUrl": "https://komododecks.com/recordings/WpFT8CY7MbWyG50xn7F6",
"videoUrl": "https://storage.googleapis.com/komodo-280e0.appspot.com/IzFnGEbx3QOiQk1bOIlN0OBVwGx1/WpFT8CY7MbWyG50xn7F6/index-de16e4eac33d578e38d0d34d65255a86e69ab428022f08548e5fafd37044c0aa.m3u8",
"previewUrl": "https://storage.googleapis.com/komodo-280e0.appspot.com/IzFnGEbx3QOiQk1bOIlN0OBVwGx1/WpFT8CY7MbWyG50xn7F6/preview-de16e4eac33d578e38d0d34d65255a86e69ab428022f08548e5fafd37044c0aa.jpg",
"previewWidth": 1920,
"previewHeight": 1200
},
{
"id": "IXGhTosmvm8ZIv3xuHBQ",
"title": "Komodo Hello World Introduction! ",
"createdAt": "8/31/2022, 9:46:59 AM",
"htmlUrl": "https://komododecks.com/recordings/IXGhTosmvm8ZIv3xuHBQ",
"videoUrl": "https://storage.googleapis.com/komodo-280e0.appspot.com/f0tZfLY6wQSl1F15zC8lhsJJYsZ2/B9ObDzs6jrNF6YKxkdow/index-1bfad33edb967387cf0815c7e341f01861f0728f53b90da6306403168e77313f.m3u8",
"previewUrl": "https://storage.googleapis.com/komodo-280e0.appspot.com/f0tZfLY6wQSl1F15zC8lhsJJYsZ2/B9ObDzs6jrNF6YKxkdow/preview-1bfad33edb967387cf0815c7e341f01861f0728f53b90da6306403168e77313f.jpg",
"previewWidth": 1800,
"previewHeight": 1168
}
]
}
Received response:
Request failed with error:
Smithsonian Contents List
Get Smithsonian Contents List
Example request:
curl --request POST \
"http://localhost:8000/api/v1/smithsonian/get-content-list" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"q\": \"q=online_visual_material:true AND IC 443\",
\"start\": 1,
\"rows\": 10,
\"sort\": \"asc\",
\"type\": \"ead_collection\",
\"row_group\": \"user\"
}"
const url = new URL(
"http://localhost:8000/api/v1/smithsonian/get-content-list"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"q": "q=online_visual_material:true AND IC 443",
"start": 1,
"rows": 10,
"sort": "asc",
"type": "ead_collection",
"row_group": "user"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/smithsonian/get-content-list',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'q' => 'q=online_visual_material:true AND IC 443',
'start' => 1,
'rows' => 10,
'sort' => 'asc',
'type' => 'ead_collection',
'row_group' => 'user',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Received response:
Request failed with error:
Get Smithsonian Content
Get Smithsonian Content Detail
Example request:
curl --request POST \
"http://localhost:8000/api/v1/smithsonian/get-content-detail" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"id\": \"con-1620124231687-1620150333404-0\"
}"
const url = new URL(
"http://localhost:8000/api/v1/smithsonian/get-content-detail"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"id": "con-1620124231687-1620150333404-0"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/smithsonian/get-content-detail',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'id' => 'con-1620124231687-1620150333404-0',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Received response:
Request failed with error:
Get Smithsonian Search Filter Data
Get a list of search filter data w.r.t filter category
Example request:
curl --request POST \
"http://localhost:8000/api/v1/smithsonian/get-search-filter-data" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"category\": \"itaque\",
\"starts_with\": \"Jhon\"
}"
const url = new URL(
"http://localhost:8000/api/v1/smithsonian/get-search-filter-data"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"category": "itaque",
"starts_with": "Jhon"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/smithsonian/get-search-filter-data',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'category' => 'itaque',
'starts_with' => 'Jhon',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"status": 200,
"responseCode": 1,
"response": {
"terms": [
"",
"1861 New York Great Fair",
"1864 New York Great Fair",
"42.00 biology: general",
"42.34 mycology",
"42.40 botany: general",
"42.45 botanical gardens, herbariums",
"42.51 algae",
"42.59 botany: other",
"42.75 insects",
"76.41 gardening",
"9/11/2001: Crash of United Airlines Flight 93, Shanksville, Pennsylvania",
"9/11/2001: Destruction of World Trade Center, New York City",
"A Christmas Carol",
"Abbeys",
"Abduction",
"Abhaya mudra",
"Abhiseka mudra",
"Abies lasiocarpa",
"Abnormalities",
"Abnormalities, Human",
"Abolitionist Tea Service",
"Abolitionist movement",
"Abolitionists",
"Abronia umbellata",
"Absorption of water",
"Acacia",
"Acacia tree",
"Academic costume",
"Academic study",
"Academy of Music",
"Acala (Buddhist deity)",
"Acalephae",
"Acanthocephala",
"Acanthurus",
"Acarology",
"Accidents",
"Accipitridae",
"Account books",
"Accountanting",
"Accounting",
"Acculturation",
"Acer carolinianum",
"Acer rubrum",
"Achaemenid dynasty, 559-330 B.C.",
"Achatinella",
"Achatinidae",
"Achillea lanulosa",
"Achilles (Greek mythology)",
"Acids",
"Acireale",
"Acmaeidae",
"Acmaeodera",
"Acoelomorpha",
"Aconitum columbianum",
"Acorn worms",
"Acorns",
"Acrobats",
"Actaea arguta",
"Actinopoda",
"Actinopteri",
"Actinopterygii",
"Activism",
"Activists",
"Actors and actresses",
"Adam (Biblical figure)",
"Adder",
"Adding Machines",
"Adenophorea",
"Adhesives",
"Adil Shahi dynasty (1489 - 1686)",
"Adirondack Forest Preserve",
"Adirondacks",
"Administrators",
"Admiral",
"Adobe",
"Adonis (Greek deity)",
"Adoration of the Magi",
"Adornment",
"Adventure stories",
"Adventurers",
"Adventures of Tom Sawyer",
"Advertising",
"Aegidae",
"Aeneas (Legendary character)",
"Aeolus, son of Hippotes (Greek mythology)",
"Aerial bombings",
"Aerial operations",
"Aerial photography",
"Aerodynamics",
"Aeroelasticity",
"Aeronautical engineer",
"Aeronautics",
"Aesculus pavia",
"Aeshnidae",
"Aesthetics",
"Affidavits",
"African American - Latinx Solidarity",
"African American choirs",
"African American clergy",
"African American women",
"African diaspora",
"African gray parrot",
"African influences",
"Afrique orientale, Commerces",
"Afrique orientale, Géographie",
"Afrique orientale, Histoire",
"Afrobeat (Music)",
"Afrofuturism",
"Afternoon",
"Agaricomycetes",
"Agate",
"Agava lechuguilla",
"Agaves",
"Agnatha",
"Agony in the garden",
"Agoseris aurantiaca",
"Agoseris carnea",
"Agoseris gracilens",
"Agoseris graminifolia",
"Agoseris villosa",
"Agriculture",
"Agriculturists",
"Aigle",
"Air",
"Air mail service",
"Air pilots",
"Air sacs (Bird anatomy)",
"Air traffic control",
"Air travel",
"Air warfare",
"Air-pump",
"Aircraft industry",
"Airfield",
"Airline",
"Airlines",
"Airplane propellers",
"Airplane wings",
"Airplanes",
"Airships",
"Akka",
"Akshobhya Buddha",
"Alabaster",
"Alaska fleabane",
"Alauda",
"Alberta paintbrush",
"Alberta primrose",
"Albi",
"Albies fraseri",
"Albums",
"Alchemy",
"Alcohol",
"Alcoholic beverage industry",
"Alcoholic beverages",
"Alcyonacea",
"Alcyonaria",
"Alderman",
"Aleutian fleabane",
"Alexander McBride Collection of U.S. Patriotic Covers",
"Alexandrofski Prison",
"Algae",
"Algae (Grunow)",
"Algonquiens",
"Algues marines",
"Alice in Wonderland",
"Aliens",
"Allegorical",
"Allegory",
"Alley",
"Alligators",
"Allium cernuum",
"Allium sibiricum",
"Almanacs",
"Almanacs, yearbooks, etc\\",
"Almeria",
"Alnus regosa",
"Alnus sinuata",
"Alphabet books",
"Alphabet rhymes",
"Alphabets",
"Alpine fernlife",
"Alpine fir",
"Alpine fleabane",
"Alpine forget-me-not",
"Alpine harebell",
"Alpine milkvetch",
"Alpine monkey flower",
"Alpine pointvetch",
"Alpine ragwort",
"Alpine vetch",
"Alstadt",
"Altars",
"Altitudes",
"Amateur theater",
"Amatitlan",
"Amazons",
"Ambassador",
"Amber",
"Ambrotypist",
"Ambulances",
"Amelanchier alnifolia",
"Amelianchier oblongifolia",
"American Art",
"American Civil War (1861-1865)",
"American Civil War Prints",
"American Expansion (1800-1860)",
"American History Education Collection",
"American Revolution (1775-1783)",
"American South",
"American West",
"American bison",
"American chestnut",
"American columbine",
"American essays",
"American mistletoe",
"American pasqueflower",
"American poetry",
"American twinflower",
"American vetch",
"American waterlily",
"American wisteria",
"Amiens Cathedral",
"Amitabha Buddha",
"Ammonoidea",
"Ammunition",
"Amoeba",
"Ampeliscidae",
"Ampelopsis",
"Amphibians",
"Amphibians as pets",
"Amphibians, Fossil",
"Amphidoa",
"Amphineura",
"Amphipoda",
"Amphitheater",
"Ampullaria",
"Amsterdam",
"Amulets",
"Amusement parks",
"Amusements",
"Anaesthetist",
"Anaphalis margaritacea",
"Anarchist",
"Anatidae",
"Anatomical study",
"Anatomist",
"Anatomy",
"Anatomy, Artistic",
"Anatomy, Comparative",
"Ancestral",
"Anchor",
"Anchors",
"Anchors (watercraft equipment)",
"Ancient Egyptian Art",
"Ancient Near Eastern Art",
"Anculosa",
"Ancylidae",
"Andreaeopsida",
"Andromeda (Greek mythology)",
"Androsace carinata",
"Androsace subumbellata",
"Anecdotes",
"Anemone",
"Anemone canadensis",
"Anemone deltoidea",
"Anemone drummondii",
"Anemone globosa",
"Anemone parviflora",
"Anemone zephyra",
"Anemonella",
"Anemopsis californica",
"Aneurysm",
"Anémones de mer",
"Angels",
"Anger",
"Angiosperms",
"Angkor period (802 - 1431)",
"Anglerfishes",
"Anglo-French War, 1793-1802",
"Angora goat",
"Animal Locomotion",
"Animal Population Groups",
"Animal artist",
"Animal behavior",
"Animal culture",
"Animal ecology",
"Animal forms",
"Animal horn",
"Animal husbandry",
"Animal in art",
"Animal intelligence",
"Animal introduction",
"Animal locomotion",
"Animal magnetism",
"Animal material",
"Animal mechanics",
"Animal products",
"Animal remains (Archaeology)",
"Animal tamer",
"Animal tracks",
"Animal worship",
"Animalcules",
"Animals",
"Animals in art",
"Animals in literature",
"Animals welfare",
"Animals, Fossil",
"Animator",
"Anishira",
"Anisostichus capreolatus",
"Anjali mudra",
"Annelida",
"Annexation to the United States",
"Anniversaries",
"Annuals (Plants)",
"Annunciation",
"Anodonta",
"Anopla",
"Anoplura",
"Antelope",
"Antelopes",
"Antennaria howellii",
"Antennaria luzuloides",
"Antennaria racemosa",
"Antennaria rosea",
"Anteus (Greek mythology)",
"Anthicidae",
"Anthocoridae",
"Anthomyiidae",
"Anthozoa",
"Anthozoa, Fossil",
"Anthropoda",
"Anthropology",
"Anthropometry",
"Anti-Lynching Movement",
"Anti-apartheid movements",
"Anti-slavery movements",
"Antibody Initiative: Polio",
"Antietam, Battle of, Md., 1862",
"Antigone (Greek mythology)",
"Antimony",
"Antiquary",
"Antiquities",
"Antislavery",
"Antitoxins",
"Antlers",
"Ants",
"Antwerp Cathedral",
"Anura",
"Anvil",
"Anyang period, Late Shang dynasty (ca. 1300 - 1050 BCE)",
"Apartment",
"Apes",
"Aphids",
"Aphrodite (Greek deity)",
"Aplacophora",
"Aplysia",
"Aplysiidae",
"Apocyum androsaemfolium",
"Apollo (Greek deity)",
"Apostles",
"Apothecary",
"Appellate Court Building",
"Appendicularia",
"Appenine Mountains",
"Apple",
"Apple orchard",
"Apple tree",
"Apple trees",
"Appliance",
"Appraiser",
"Apprentices",
"Apron",
"Apterygota",
"Aquarium animals",
"Aquarium fishes",
"Aquariums",
"Aquariums (containers)",
"Aquarius",
"Aquatic animals",
"Aquatic biology",
"Aquatic insects",
"Aquatic invertebrates",
"Aqueduct",
"Aquila",
"Aquilegia brevistyla",
"Aquilegia caerulea",
"Aquilegia canadensis",
"Aquilegia ecalcarata",
"Aquilegia flavescens",
"Aquilegia formosa",
"Aquilegia saximontana",
"Arabian Nights",
"Arabis drummondii",
"Arabis lyallii",
"Arachnida",
"Arachnida, Fossil",
"Aradidae",
"Arbitrator",
"Arbor Day",
"Arborettes",
"Arboretum",
"Arbors",
"Arc measures",
"Arcade",
"Arch",
"Arch of Titus",
"Archaeogastropoda",
"Archaeology",
"Archaeopterygiformes",
"Archery",
"Arches",
"Archiacanthocephala",
"Architects",
"Architecture",
"Architecture, Baroque",
"Architecture, Colonial",
"Architecture, Commercial Buildings",
"Architecture, Educational Buildings",
"Architecture, Historic Residences",
"Architecture, Industrial Buildings",
"Archivist",
"Arcoida",
"Arctic Ocean",
"Arctiidae",
"Arctomecon merriami",
"Arctostaphylos uva-ursi",
"Arctous alpina",
"Arcturidae",
"Arcturus",
"Area measurement",
"Arenaria formosa",
"Arethusa (Greek mythology)",
"Arethusa bulbosa",
"Argemone hispeda",
"Argo Navis",
"Ariadne (Greek mythology)",
"Aries (Astrology)",
"Arisaema dracontium",
"Arisaema triphyllum",
"Aristocracy (Social class)",
"Arithmetic Teaching",
"Arm",
"Armband",
"Armchairs",
"Armies",
"Armor",
"Armory",
"Arms transfers",
"Army scout",
"Arnica",
"Arnica alpina",
"Arnica latifolia",
"Arnica louisiana",
"Arnica tomentosa",
"Aronia arbutifolia",
"Arranger",
"Arrow",
"Arrow maker",
"Arrow poisons",
"Arrowleaf groundsel",
"Arsenic",
"Arsenic compounds",
"Art",
"Art & Photography",
"Art Palace",
"Art Patron",
"Art and industry",
"Art and photography",
"Art building",
"Art chrëtien",
"Art collector",
"Art critic",
"Art dealer",
"Art deco",
"Art director",
"Art exhibition",
"Art galleries",
"Art gallery",
"Art historian",
"Art instructor",
"Art mëdiëval",
"Art museum administrator",
"Art museum director",
"Art museum president",
"Art museum trustee",
"Art museums",
"Art nouveau",
"Art nouveau dress",
"Art of Writing",
"Art school administrator",
"Art thief",
"Art tool",
"Art, African",
"Art, American",
"Art, Baroque",
"Art, Byzantine",
"Art, Docorative",
"Art, Prehistoric",
"Art, Romanesque",
"Art, abstract",
"Artemia",
"Artemisia discolor",
"Arthoniomycetes",
"Arthropods",
"Arthurian Legend",
"Artichoke",
"Articulata",
"Artifact Walls exhibit",
"Artificial limbs",
"Artificial satellites",
"Artillery",
"Artiodactyla, Fossil",
"Artist and model",
"Artist's Effects",
"Artist's brush",
"Artist's effects",
"Artist's model",
"Artists",
"Artists' marks",
"Artists' tools",
"Arts and crafts movement",
"Arts and religion",
"Arts and sciences",
"Arts décoratifs",
"Arts of the Islamic World",
"Arts, Modern",
"Artwork",
"Arum arrowhead",
"Asarum canadense",
"Ascaris",
"Ascaris megalocephala",
"Ascelpias",
"Ascelpias tuberosa",
"Ascetic",
"Ascidiacea",
"Ascidies",
"Asclepias speciosa",
"Ascot",
"Ascothoracica",
"Asellidae",
"Asellus aquaticus",
"Ashrams",
"Asiatic elephant",
"Asimina triloba",
"Asolo",
"Aspalathus",
"Asrum",
"Assassin",
"Assassin bugs",
"Assassination",
"Assimilation",
"Assisi",
"Assistant Secretary of Treasury",
"Associations",
"Associations and institutions",
"Astacidae",
"Astacus",
"Astasahasraka Prajnaparamita",
"Aster",
"Aster campestris",
"Aster conspicuus",
"Aster englemann",
"Aster hirariifolius",
"Aster paludosus",
"Aster squarrosus",
"Asteriidae",
"Asterocheridae",
"Asteroidea",
"Astor",
"Astor House",
"Astragalus alpinus",
"Astragalus bourgovii",
"Astragalus coccineus",
"Astrology",
"Astronomers",
"Astronomical instruments",
"Astronomical observatories",
"Astronomy",
"Asuka period (552 - 710)",
"Atamasco-lily",
"Atamosco atamasco",
"Atheism",
"Athletes",
"Athletics",
"Atlantic herring",
"Atlas (Greek deity)",
"Atmosphere, Upper",
"Atmospheric electricity",
"Atmospheric temperature",
"Atomic theory",
"Atractiellomycetes",
"Attendant",
"Auction catalogs",
"Auctioneer",
"Audiences",
"Auditor",
"Aunt Charity",
"Auriculaceae",
"Aurora",
"Aurora (Roman deity)",
"Auroras",
"Authority",
"Authors",
"Autogiros",
"Autograph",
"Autographs",
"Automobile drivers",
"Automobile driving",
"Automobile industry and trade",
"Automobile travel",
"Automobiles",
"Autumn",
"Avalanche",
"Avalanche buttercup",
"Avalanche lily",
"Avalokite?svara (Buddhist deity)",
"Avant-garde (Aesthetics)",
"Aviaries",
"Award",
"Awards",
"Awnings",
"Axes",
"Axolotls",
"Aye-aye",
"Ayutthaya period (1351 - 1767)",
"Azaleas",
"BOTANICA MEDICA",
"Ba Xian (Taoist mythology)",
"Baburnama",
"Baby carriages",
"Bacchanalia",
"Bacchantes",
"Bacon's Rebellion, 1676",
"Bacteriologist",
"Bad Kissingen",
"Badges",
"Bag punching",
"Baggage & Luggage",
"Bagpipe",
"Baguette",
"Baimiao style",
"Bakers and bakeries",
"Baking",
"Balaenoptera",
"Balarama",
"Balconies",
"Bald eagle",
"Baleen whales",
"Ballet",
"Ballistics",
"Balloon",
"Balloonists",
"Balloons (Aircraft)",
"Balloons (Novelties)",
"Ballroom dancing",
"Balls (Sporting goods)",
"Balsam fir",
"Balsam root",
"Balsamorhiza sagittata",
"Balsams",
"Balustrade",
"Bamboo",
"Bananas",
"Band (Music)",
"Bands (Music)",
"Bands (music)",
"Bangiophyceae",
"Bangladesh",
"Banjo",
"Banjos",
"Bank cashier",
"Bank director",
"Bankers",
"Banks and banking",
"Banks aned banking",
"Banner",
"Banners",
"Bannister",
"Banyan",
"Baptisimal font",
"Baptism of Christ",
"Baptista bructeata",
"Barbel (Anatomy)",
"Barbel (Fish)",
"Barber",
"Barberini Palace",
"Barberries",
"Barbers' supplies industry",
"Barbershop",
"Barbershop quartets",
"Barbershops",
"Barcaroles",
"Barge",
"Bark",
"Bark beetles",
"Barley",
"Barnacles",
"Barnyard",
"Barometer",
"Barometers",
"Baron",
"Baroness",
"Barracks",
"Barrel",
"Barrel cactus",
"Barrel organ, Hydraulic",
"Barrette",
"Bars (Drinking establishments)",
"Bartender",
"Bas-relief",
"Baseball",
"Baseball Equipment",
"Baseball bat",
"Baseball cap",
"Baseball glove",
"Baseball players",
"Baseball stadium",
"Basement",
"Basketball",
"Baskets",
"Bass",
"Bassin d'Apollon",
"Bassin de Neptune",
"Bastard toadflex",
"Bathing",
"Bathroom",
"Baths of Caracalla",
"Batik",
"Baton",
"Batrachia",
"Batrachium trichophyllum",
"Bats",
"Bats, Fossil",
"Battenberg lace",
"Battery",
"Battle between the Monitor and Merrimac",
"Battle casualties",
"Battle of Eylau",
"Battle of Fort Sumter",
"Battle of Fort Sumter, 1861",
"Battle of Lookout Mountain",
"Battle of Monterrey",
"Battle of Stony Point",
"Battlefield",
"Battlefields",
"Battleground",
"Battles",
"Battleships",
"Bay",
"Bay of Naples",
"Bay of Panama",
"Bayard",
"Bayeux tapestry",
"Bayonet",
"Bayonet rush",
"Bayonets",
"Bays",
"Bdelloidea",
"Beaches",
"Beads",
"Beaked hazelnut",
"Beaked whales",
"Beaker",
"Bear Creek Canyon",
"Bearberry",
"Bearberry honeysuckle",
"Beards",
"Beargrass",
"Bearpoppy",
"Bears",
"Bearskin",
"Beatrice",
"Beautician",
"Beauty",
"Beauty culture",
"Beauty parlor",
"Beauty salons (Beauty shops)",
"Beauty schools",
"Beauty shops",
"Beautyberry",
"Beavers",
"Bebop (Music)",
"Bed",
"Beder Khan Bey Chief of Jezirah",
"Bedroom",
"Beds",
"Bee culture",
"Bee eaters",
"Beech",
"Beech tree",
"Beeldende kunsten",
"Beer",
"Bees",
"Beetles",
"Beetles, Fossil",
"Beets",
"Befaria racemosa",
"Beggar",
"Beggar's Dance",
"Begging",
"Begging Dance",
"Begonia",
"Beirut",
"Belgian colonialism",
"Bell tower",
"Belle Fourche Canyon",
"Belle Fourche River",
"Belle Vue",
"Bellerophon",
"Bellflower",
"Bellows",
"Bells",
"Bells and sets of bells",
"Belmont",
"Belt",
"Belts (Clothing)",
"Bench",
"Benediction",
"Benefactor",
"Beneficial insects",
"Beni Berzi",
"Beni Hasan",
"Benin art",
"Benjamin B. Lipsner Airmail Collection",
"Benten",
"Beret",
"Bergamont",
"Bering Sea controversy",
"Berkeley Springs",
"Berman Models",
"Berries",
"Berry",
"Bertha",
"Bethayres",
"Bettws-y-Coed",
"Beverage",
"Beverages",
"Beverly Farms",
"Beverly Hills, CA",
"Beyoglu",
"Bhagavata Purana",
"Bharata",
"Bhumisparsha mudra",
"Bible",
"Bible and geology",
"Bible plays",
"Bible stories",
"Bible stories, Chinook",
"Bible stories, Dakota",
"Bible stories, English",
"Bible stories, Nipissing",
"Bible, N.T.",
"Bible, O.T.",
"Biblical teaching",
"Bibliophile",
"Bickham",
"Bicorne",
"Bicycle industry",
"Bicycles",
"Bicycling",
"Big game animals",
"Big game hunting",
"Big whortleberry",
"Bignonia radicans",
"Bikukulla canadensis",
"Bikukulla cucullaria",
"Bildband",
"Bilecik",
"Bill (Anatomy)",
"Billboard",
"Billiards player",
"Bingen",
"Binoculars",
"Bio-bibliography",
"Biochemistry",
"Biogeography",
"Biographer",
"Biological control",
"Biological rhythms in plants",
"Biological specimens",
"Biological stations",
"Biology",
"Bioluminescence",
"Bioluminescense",
"Biometry",
"Biplanes",
"Birch tree",
"Bird and flower",
"Bird attracting",
"Bird populations",
"Bird refuges",
"Bird trapping",
"Bird watching",
"Bird's eye view",
"Birdcage",
"Birdhouse",
"Birds",
"Birds in art",
"Birds in literature",
"Birds of paradise (Birds)",
"Birds of prey",
"Birds, Fossil",
"Birds, Migration of",
"Birds-eye view",
"Birdsfoot violet",
"Birdsongs",
"Biretta",
"Birmingham Meeting House",
"Biro Mountains",
"Birth control advocate",
"Birthday books",
"Bishamon-ten",
"Bishop",
"Bismuth",
"Bites and stings",
"Bithynia (Mollusks)",
"Bitterroot",
"Bivalves",
"Bivalves, Fossil",
"Bivalvia",
"Biwa",
"Black Canyon",
"Black Canyon of the Gunnison",
"Black Enterprise",
"Black Lake",
"Black Lives Matter",
"Black Mesa",
"Black Nationalism",
"Black Power (Black Pride)",
"Black Press",
"Black corals",
"Black is Beautiful",
"Black people",
"Black pepper (Plant)",
"Black power",
"Black race",
"Blackberry",
"Blackberry vine",
"Blackbird",
"Blackboard",
"Blackface",
"Blackmailer",
"Blacksmith",
"Blacksmiths",
"Bladder campion",
"Blake (Steamer)",
"Blake Block",
"Blanc Negre",
"Blasting",
"Blastoidea",
"Blaxploitation films",
"Blazing star",
"Blind",
"Blizzard",
"Blocks (Toys)",
"Blonde (Ship)",
"Blood",
"Blood-vessels",
"Bloodroot",
"Blotter",
"Blouay",
"Blowflies",
"Blowpipe",
"Blue Larkspur",
"Blue Point",
"Blue bead",
"Blue beard-tongue",
"Blue columbine",
"Blue jay",
"Blue lupine",
"Blue phlox",
"Blue whiting",
"Blue-and-green style",
"Blue-eyed Mary",
"Blue-eyed grass",
"Bluebird",
"Blueflag iris",
"Bluegrass (Music)",
"Bluegreen gentian",
"Blues (Music)",
"Bluets",
"Boar",
"Board games",
"Board of Education",
"Boat builder",
"Boater",
"Boathouse",
"Boating",
"Boats and boating",
"Bobsledding",
"Bodhi tree",
"Bodhidharma",
"Bodhisattva",
"Bodies of water",
"Bog kalmia",
"Bog-asphodel",
"Bogbean",
"Boidae",
"Boilers",
"Boise",
"Bolero",
"Bolsena",
"Boltraffio",
"Bomber Jacket",
"Bomber jacket",
"Bombycidae",
"Bonaventure Cemetery",
"Bone",
"Bone carving",
"Bone implements",
"Bones",
"Bonkei",
"Bonnet",
"Bonsai",
"Bonten",
"Book collecting",
"Book collectors",
"Book industries and trade",
"Book ornamentation",
"Bookbinders",
"Bookbinding",
"Bookcase",
"Bookends",
"Bookplates",
"Bookplates, Italian",
"Books and reading",
"Bookseller",
"Booksellers and bookselling",
"Booksellers' catalogs",
"Bookshelf",
"Boonsboro",
"Bootblack",
"Booties",
"Bopyridae",
"Boquehomo",
"Borders (Ornament areas)",
"Borders (Ornamental areas)",
"Bordighera",
"Borghese Gardens",
"Bornes",
"Boston Common",
"Boston Harbor",
"Boston Massacre (1770)",
"Boston Stock Exchange",
"Boston Stump",
"Boston, MA",
"Botanical chemistry",
"Botanical gardens",
"Botanical illustration",
"Botanical specimens",
"Botanical study",
"Botanist",
"Botany",
"Botany, Economic",
"Botany, Medical",
"Bottle",
"Bottle gentian",
"Botzen",
"Boulders",
"Boulevard St. Germain",
"Boulevard des Italiens",
"Boulogne sur Mer",
"Boundaries",
"Bouquet",
"Bouquet holders",
"Bouquetiers",
"Bourgeau rose",
"Boutonniere",
"Bouwkunst",
"Bow",
"Bow and Arrow",
"Bow and arrow",
"Bow priest",
"Bowerbirds",
"Bowl",
"Bowling",
"Bowmansroot",
"Bowtie",
"Box",
"Box huckleberry",
"Boxer",
"Boxing glove",
"Boxing ring",
"Boy",
"Boys",
"Bozeman Pass",
"Bracelet",
"Brachial plexus",
"Brachiopoda",
"Brachiopoda, Fossil",
"Brachycera",
"Brahma? (Hindu deity)",
"Brain",
"Branchiopoda",
"Branchville",
"Brandywine Creek",
"Brass",
"Brass (alloy)",
"Brasswork",
"Brattle Street",
"Brattleboro",
"Braubach",
"Brave's Dance",
"Bread",
"Break dancing",
"Breeding",
"Bremen (Ship)",
"Brenta River",
"Brenton Light",
"Breweries",
"Brewers",
"Brewing",
"Brick",
"Brick houses",
"Bricklayers",
"Bricks",
"Bride",
"Bridge builder",
"Bridge of Kurprissar",
"Bridge of Sighs",
"Bridges",
"Briefcase",
"Brigadier General",
"Brigadier general",
"Bristle-cone pine",
"Bristol",
"Bristol Cathedral",
"Bristol, England",
"British Consulate",
"British Museum",
"British colonialism",
"British colonies",
"Brittany",
"Broad Street",
"Broad-leaved candle-berry myrtle",
"Broadcast journalist",
"Broadcasting",
"Broadside",
"Broadsides",
"Broadway",
"Broadway Theatre",
"Brodiaea laxa",
"Brodiaea pulchella",
"Broker",
"Brokers",
"Bromeliaceae",
"Bronc rider",
"Bronx River",
"Bronze Age (1500 - 400 BCE)",
"Bronze bells",
"Bronzes",
"Bronzes, American",
"Brooch",
"Brooches",
"Brook lobelia",
"Brooklyn",
"Brooklyn Bridge",
"Brooklyn, NY",
"Broom",
"Broomrape",
"Brother of US President",
"Browning",
"Browntail moth",
"Bruchidae",
"Bruges",
"Brush",
"Bryophytes",
"Bryopsida",
"Bryozoa",
"Bryozoa, Fossil",
"Bubble blowing",
"Buccaneers",
"Buccinidae",
"Buccinum",
"Buckbean",
"Bucket",
"Buckman Tavern",
"Buddha Bhaisajyaguru",
"Buddhist gods",
"Buddhist temples",
"Buff monkeyflower",
"Buff pussytoes",
"Buffalo Island",
"Buffalo Soldiers",
"Buffalo, NY",
"Buffaloes",
"Bugle",
"Bugle calls",
"Bugles",
"Builder",
"Building, Brick",
"Buildings, structures, etc",
"Bulbs (Plants)",
"Buliminidae",
"Bulimulidae",
"Bull Dance",
"Bulldog",
"Bullet",
"Bulletin 173",
"Bullets",
"Bullfighting",
"Bullfights in art",
"Bulls",
"Bunchberry",
"Bungalows",
"Bunker Hill, Battle of (Boston, Massachusetts : 1775)",
"Buprestidae",
"Bur-forget-me-not",
"Burdocks",
"Bureaucrat",
"Burgess milkvetch",
"Burlesque",
"Burns Brothers",
"Burnside Bridge",
"Burrower bugs",
"Bursa",
"Bush cinquefoil",
"Bushcow",
"Bushkill Creek",
"Bushpoppy",
"Business",
"Business and Finance",
"Business executive",
"Business manager",
"Businessperson",
"Bustards",
"Busts",
"Butte De Mort",
"Butterflies",
"Butterflies in art",
"Butterflies, Fossil",
"Butterfly pea",
"Butterfly violet",
"Butterfly weed",
"Button",
"Buttons",
"Byrne",
"Byrsonima",
"CRIPTOGAMAS",
"Cabane's Trading House",
"Cabbage",
"Cabin Creek",
"Cabinet",
"Cabinet Member",
"Cabinet card",
"Cabinet hardware",
"Cabinetmaker",
"Cabinets",
"Cabinets of curiosities",
"Cabinetwork",
"Cables, Submarine",
"Cacao",
"Cactoideae",
"Cactus",
"Caddisflies",
"Cadet",
"Caduceus",
"Caecidae",
"Caecilians",
"Caenogastropoda",
"Caernarvon",
"Caernarvon Castle",
"Cafe",
"Cafe Versaille",
"Cage birds",
"Cahors",
"Cake",
"Cake seller",
"Cakes",
"Calais, ME",
"Calanoida",
"Calcarea",
"Calculating Machines",
"Calculators",
"Calculus of variations",
"Calendar reform",
"Calendar, Japanese",
"Calendars",
"California Gold Rush",
"California fuschia",
"California ground squirrel",
"California lilac",
"California nutmeg",
"California pitcherplant",
"California poppy",
"California rose-bay",
"Caliph",
"Calla lily",
"Calla palustris",
"Callicarpa americana",
"Calligraphers",
"Calligraphie",
"Calligraphy",
"Calligraphy, Chinese",
"Calligraphy, Japanese",
"Callinectes sapidus",
"Callospermophilus",
"Calochortus albus",
"Calochortus amabilis",
"Calochortus anoenum",
"Calochortus claratus",
"Calochortus elegans",
"Calochortus kennedyi",
"Calochortus nuttallii",
"Calochortus splendens",
"Calochortus weedii",
"Caloric engines",
"Calosoma",
"Caltha leptosepala",
"Caltha palustris",
"Calves",
"Calycanthus occidentalis",
"Calypso (Music)",
"Calystegia convolvulus sepium",
"Camarocrinus",
"Camas",
"Cambarus",
"Cambridge",
"Camden",
"Camden and Amboy Train Derailment",
"Camel",
"Camelback Mountain",
"Camellia",
"Camels",
"Cameo",
"Cameos",
"Camera",
"Cameras",
"Camouflage (Biology)",
"Camp de Grasse, Saint-Pierre-des-Corps, France",
"Campaign Director",
"Campaigns",
"Campaigns & battles",
"Campanula",
"Campanula lasiocarpa",
"Campanula rotundifolia",
"Campanulaceae",
"Campbell",
"Camping",
"Campo Santa Margherita",
"Canada buffaloberry",
"Canada lily",
"Canada violet",
"Canada wildginger",
"Canadarago Lake",
"Canal Street",
"Canal construction workers",
"Canals",
"Canals, Interoceanic",
"Canaries",
"Canary breeds",
"Cancellariidae",
"Cancellariidae, Fossil",
"Cancellations (Philately)",
"Cancelled plate",
"Cancridae",
"Candelabra",
"Candelariomycetes",
"Candle",
"Candlemaker",
"Candlestick",
"Canis Major",
"Canis Minor",
"Canna species",
"Cannas",
"Canned foods",
"Cannibalism",
"Canning and preserving",
"Cannon",
"Cannonball",
"Cannons",
"Canoes",
"Canoes and canoeing",
"Canon",
"Cantaloupe",
"Canteen",
"Cantharidae",
"Canvas",
"Canyon",
"Cap and gown",
"Cape Ann",
"Cape Palos",
"Cape Poge",
"Cape Poge Lighthouse",
"Cape San Lucas",
"Capillarity",
"Capital and capitol",
"Capital punishment",
"Capitalist",
"Capitalists and financiers",
"Capitellida",
"Capitol",
"Capnoides aureum",
"Capnoides sempervirens",
"Caprellidae",
"Capri",
"Capricorn",
"Caprimulgus",
"Captain",
"Captive wild birds",
"Capture of Major John Andre",
"Capuchin Monastery",
"Carapidae",
"Carbon dioxide",
"Carcassone Castle",
"Carcassonne",
"Carcharodon",
"Card games",
"Card photographs",
"Card tricks",
"Cardiidae",
"Cardinal",
"Cardinal flower",
"Cardinal monkeyflower",
"Cardiovascular system",
"Cards",
"Carex",
"Carex aurea",
"Caribbean Sea",
"Caricature and cartoons",
"Caricatures",
"Caricaturist",
"Carl Whiting Bishop collection",
"Carnac",
"Carnation",
"Carnations",
"Carnegie libraries",
"Carnival",
"Carnivora",
"Carnivora, Fossil",
"Carnivorous plants",
"Carolina jessamine",
"Carolina maple",
"Carolina pink",
"Carp",
"Carpenter",
"Carpenters Hall",
"Carpet",
"Carpet pink",
"Carpets",
"Carriage",
"Carriage and wagon making",
"Carriage and wagon painting",
"Carriage industry",
"Carriages",
"Carriages & coaches",
"Carriages and carts",
"Carroll",
"Cart",
"Cartagena",
"Carte-de-visite",
"Carter's Grove",
"Carthage",
"Cartography",
"Cartoonist",
"Cartoons",
"Carver",
"Carving (Decorative arts)",
"Cascade Mountains",
"Case furniture",
"Cased object",
"Cases",
"Cases (containers)",
"Cash and Credit Registers",
"Cashivo",
"Cassida",
"Cassidae",
"Cassiope",
"Cassiope mertensiana",
"Cassiopeia",
"Cassius",
"Cassowaries",
"Cast iron",
"Cast-iron fronts (Architecture)",
"Castalia odorata",
"Castanea dentata",
"Castilleja miniata",
"Castilleja occidentalis",
"Castilleja pallida",
"Castilleja rhexifolia",
"Castle Creek",
"Castle Creek Canyon",
"Castle Deurenberg",
"Castle Geyser Cone",
"Castle Oberlahnstein",
"Castle Reichenberg",
"Castle Rheinfels",
"Castle Rheinstein",
"Castle Rock",
"Castle Rushen",
"Castle Schonburg",
"Castle of San Jose",
"Castles",
"Castles & palaces",
"Castnia",
"Castniidae",
"Castor bean",
"Castor oil plant",
"Casualties",
"Catalina Island",
"Catalogs and collections",
"Catalogs, Booksellers'",
"Catania",
"Catechisms, Cree",
"Catechisms, Dakota",
"Catechisms, Iroquoian",
"Catechisms, Micmac",
"Catechisms, Ojibwa",
"Catechisms, Shoshoni",
"Caterpillars",
"Catesby pitcherplant",
"Catfishes",
"Cathedral",
"Cathedral Rocks",
"Cathedral of Notre Dame",
"Cathedral of Torcello",
"Cathedral of Utrecht",
"Cathedrals",
"Catherine Market",
"Catherine and Ralph Benkaim Collection",
"Catholic schools",
"Catocala",
"Cats",
"Catskill Falls",
"Catskill Mountains",
"Cattail",
"Cattlaya superbus",
"Cattle",
"Cattle trade",
"Caub",
"Caudofoveata",
"Caulanthus inflatus",
"Cavalry",
"Cave animals",
"Caves",
"Caviidae",
"Caving",
"Ceanothus thyrsiflorus",
"Cecum",
"Cedar tree",
"Celebra",
"Celephalopoda",
"Celestial globes",
"Celestial mechanics",
"Celestial sphere",
"Cellist",
"Cellules",
"Cemeteries",
"Cemetery",
"Census, 9th, 1870",
"Centaur",
"Centaurium venustum",
"Centaurus",
"Centennial Exhibition",
"Centennial Exhibition (1876 : Philadelphia, Pa.)",
"Centennial celebrations, etc",
"Centipedes",
"Central Javanese period (600 - 799)",
"Central nervous system",
"Cepaea nemoralis",
"Cephalaspidea",
"Cephalaspidomorphi",
"Cephalopoda, Fossil",
"Cephalopods",
"Ceppomorelli",
"Cerambycidae",
"Ceramic tiles",
"Ceramicist",
"Ceramics",
"Ceratopogonidae",
"Ceratopsia",
"Cereals, Prepared",
"Ceres",
"Cerianthidea",
"Cerion",
"Cerithiidae",
"Cerithium",
"Certificate",
"Certosa",
"Cervantes",
"Cestoda",
"Cetacea",
"Cetacea, Fossil",
"Cetaceans",
"Céphalopodes",
"Chaco Canon",
"Chadds Ford",
"Chaetodontidae",
"Chaetognatha",
"Chaetophorales",
"Chagres River",
"Chain",
"Chairs",
"Chaise longue",
"Chakra",
"Chakrasamvara",
"Chalcididae",
"Chalice",
"Challenger (navire)",
"Chamber of Commerce",
"Chambre des Deputes",
"Champignons comestibles",
"Chancellor",
"Chandelier",
"Chandelier plant",
"Chang'e",
"Chank",
"Channel",
"Chansons inuites",
"Chants liturgiques inuit",
"Chapel of St. Nicholas",
"Chaplain",
"Chapo",
"Chaps",
"Chapultepec, Battle of, Mexico City, Mexico, 1847",
"Characeae",
"Characidae",
"Character",
"Characters and characteristics",
"Charadriidae",
"Charadriiformes",
"Chariot",
"Chariots",
"Charitable organization",
"Charity",
"Charity administrator",
"Charity founder",
"Charles L. Cotton",
"Charleston Lighthouse",
"Charlestown",
"Charms",
"Chartres",
"Chartres Cathedral",
"Chase",
"Chastity",
"Chateau d'If",
"Chateau de Chaalis",
"Chateau de Chevenevase",
"Chateau de Chillon",
"Chateau du Chatelard",
"Chateau-Thierry",
"Chattanooga",
"Chautauqua",
"Checkers",
"Checks",
"Cheetahs",
"Cheilostomata",
"Chelone glabra",
"Chelonia (Genus)",
"Chelonia, Fossil",
"Chelsea",
"Chemical elements",
"Chemical equilibrium",
"Chemical industry",
"Chemical reactions",
"Chemist",
"Chemistry",
"Chemistry, Analytic",
"Chemistry, Inorganic",
"Chemistry, Organic",
"Chemistry, Physical and theoretical",
"Chemists",
"Chenopodium capitatum",
"Cherbourg",
"Cherries",
"Cherry blossom",
"Cherry tree",
"Chess",
"Chess set",
"Chest",
"Chester",
"Chestnut Street Bridge",
"Chestnut tree",
"Chevrotains, Fossil",
"Cheyne Walk",
"Chicago Fire",
"Chicago River",
"Chicago, IL",
"Chicano Movement / El Movimiento",
"Chickasaw plum",
"Chicken",
"Chief",
"Chief Justice of State Supreme Court",
"Chief Justice of US",
"Chief justice",
"Chief of Staff",
"Chihuahua",
"Child musicians",
"Childhood",
"Children",
"Children in art",
"Children's book",
"Children's encyclopedias and dictionaries",
"Children's literature, American",
"Children's paraphernalia",
"Children's periodicals",
"Children's poetry",
"Children's poetry, English",
"Children's poetry, German",
"Children's stories, French",
"Children's stories, Spanish",
"Chilina",
"Chilopoda",
"Chimaeridae",
"Chimaphila maculata",
"Chimaphila umbellata",
"Chimera",
"Chimney",
"Chimpanzees",
"China Trade",
"China Trade merchant",
"Chinese Art",
"Chinese white dolphin",
"Chinoiserie",
"Chintz",
"Chiogenes hispidula",
"Chioggia",
"Chionanthus virginica",
"Chiranthodendron pentadactylon",
"Chiron",
"Chironomidae",
"Chironomus",
"Chitonidae",
"Chitons",
"Chlamydum",
"Chloropidae",
"Chocolate",
"Choker",
"Chola dynasty (850 - 1280)",
"Cholla opuntia whipplei",
"Chondrichthyes",
"Choniostomatidae",
"Choreographer",
"Choreography",
"Choruses (Men's voices, 4 parts) with piano",
"Choruses, Secular (Mixed voices, 4 parts) with piano",
"Christ and Pharisees",
"Christina",
"Christmas",
"Chromadorea",
"Chromolithography, Victorian",
"Chronology",
"Chronology: 1820-1829",
"Chronology: 1830-1839",
"Chronology: 1840-1849",
"Chronology: 1850-1859",
"Chronology: 1860-1869",
"Chronology: 1870-1879",
"Chronology: 1880-1889",
"Chronology: after 1890",
"Chronology: before 1820",
"Chrosperma muscaetoxicum",
"Chrysamphora californica",
"Chrysanthemum",
"Chrysanthemums",
"Chrysanthemums in art",
"Chrysogonum virginianum",
"Chrysomelidae",
"Chrysopa",
"Chrysophyceae",
"Chrysopidae",
"Church architecture",
"Church buildings",
"Church calendar",
"Church decoration and ornament",
"Church founder",
"Church history",
"Church of Las Monjas",
"Church of San Domingo",
"Church of San Francisco",
"Church of San Giorgio Maggiore",
"Church of the Merced",
"Church plate",
"Church vestments",
"Churchwarden",
"Churn",
"Cicada",
"Cicada (Genus)",
"Cicindelae",
"Cigar",
"Cigarette",
"Cigarette holder",
"Cigars",
"Ciliata",
"Cimicidae",
"Cimolus",
"Cimon",
"Cincinnati",
"Cinderella",
"Cineraria",
"Cinnebar Mountain",
"Cintamani",
"Cionidae",
"Ciotat",
"Ciotat Harbor",
"Circe",
"Circulation",
"Circus",
"Circus owner",
"Circus performer",
"Circuses & shows",
"Cirolanidae",
"Cirripedia",
"Cirsium arizonica",
"Cirsium hookeranum",
"Cirsium undulatum",
"Cities & towns",
"Cities and towns",
"Cities and towns in literature",
"Citron",
"Citta Vecchia",
"City Hall",
"City landscape",
"City planner",
"City planning",
"City walls",
"Cityscapes",
"Civet cat",
"Civic Associations",
"Civic leader",
"Civil Servant",
"Civil War Presentation Swords",
"Civil War Uniforms",
"Civil War and Reconstruction",
"Civil War and Reconstruction (1860-1877)",
"Civil War patriotic covers",
"Civil War, 1861-1865",
"Civil engineer",
"Civil rights",
"Civil rights activist",
"Civil rights leader",
"Civilization",
"Civilization, Medieval",
"Civitavecchia",
"Civitella",
"Cladocera",
"Cladonia",
"Claims vs. United States",
"Clam",
"Clams",
"Clarence Henry Eagle Collection of Revenues, Proofs and Essays",
"Clarinet",
"Clark Fork River",
"Clark Park",
"Clasping twistedstalk",
"Classical (Music)",
"Classical antiquities",
"Classical dress",
"Classification (information handling function)",
"Classification of sciences",
"Classifications",
"Claudine",
"Clausilia",
"Clausiliidae",
"Clay",
"Clay industries",
"Clay pipe",
"Claytonia lanceolata",
"Claytonia parvifolia",
"Claytonia virginica",
"Cleadidæ",
"Cleaning",
"Clearwing moths",
"Clematis columbiana",
"Clematis crispa",
"Clematis hirsutissima",
"Clematis pseudoalpina",
"Clematis viorna",
"Clergy",
"Clerical worker",
"Cleridae",
"Clerk",
"Cleveland",
"Cleveland, OH",
"Cliff-dwellings",
"Cliffrose",
"Cliffs",
"Climate",
"Climbing",
"Clingfishes",
"Clinton Hall",
"Clintonia borealis",
"Clintonia uniflora",
"Clipper ships",
"Clitoria mariana",
"Cliveden",
"Cloak",
"Cloaks",
"Clock and watch makers",
"Clock and watch making",
"Clock towers",
"Clockmaker",
"Clocks",
"Clocks & watches",
"Clocks and watches",
"Clocks and watches, Electric",
"Cloister",
"Closed gentian",
"Clothier",
"Clothing & dress",
"Clothing and dress",
"Cloud",
"Clouds",
"Clouds in art",
"Clover",
"Clown",
"Clown costume",
"Clowns",
"Club",
"Club administrator",
"Club founder",
"Club president",
"Clubs",
"Cluny lace",
"Clupeidae",
"Cluster pine",
"Clytie",
"Cnidaria",
"Coach",
"Coach drivers",
"Coaching (Transportation)",
"Coal",
"Coal industry",
"Coal mines and mining",
"Coal trade",
"Coastlines",
"Coasts",
"Coat",
"Coat of arms",
"Cobalt pigment",
"Cobbler",
"Coblenz",
"Cocapah",
"Coccidae",
"Cochaneal insect",
"Cochlea",
"Cock fighting",
"Cocked hat",
"Cockroaches",
"Coconut palm",
"Coffee",
"Coffee Drinking",
"Coffin",
"Cohoes",
"Coins",
"Coins, Danish",
"Coins, Roman",
"Cold Spring",
"Cold War, 1945-1989",
"Coldwater, MI",
"Coléoptères",
"Coliseum",
"Collages",
"Collection and preservation",
"Collections privées",
"Collector",
"Collectors and collecting",
"Collectors' marks",
"Collembola",
"Collinsia verna",
"Colonel",
"Colonial America",
"Colonial Era (1607-1776)",
"Colonial Government Official",
"Colonial Governor",
"Colonial Graveyard",
"Colonial Officer",
"Colonial Statesman",
"Colonial influence",
"Colonial period, ca. 1600-1775",
"Colonies",
"Colonization movement",
"Colonizer",
"Colonnade",
"Color",
"Color in art",
"Color in nature",
"Color in the textile industries",
"Color printing",
"Color prints",
"Color prints, Japanese",
"Color separation",
"Colorado Springs",
"Colorado potato beetle",
"Colorism",
"Colossi del Quirinale",
"Colossi of Memnon",
"Colportage, subscription trade, etc",
"Columbellidae",
"Columbia (Symbolic character)",
"Columbia Bridge",
"Columbia Hill",
"Columbia River",
"Columbia Teacher's College",
"Columbia clematis",
"Columbia lily",
"Columbus \"Discovering \" America",
"Column",
"Columnist",
"Columns",
"Columns (architectural elements)",
"Comandra livida",
"Comandra pallida",
"Combat patrols",
"Combs",
"Combustion",
"Combustion, Spontaneous human",
"Combustion, Theory of",
"Comedian",
"Comedy",
"Comedy (Theatre)",
"Comets",
"Comic books, strips, etc",
"Comic prints",
"Comics",
"Comitia Americana",
"Commemorative",
"Commemorative postage stamps",
"Commensalism",
"Commentator",
"Commercial",
"Commercial Furnishings",
"Commercial law",
"Commercial products",
"Commercial statistics",
"Commissioner",
"Commodities broker",
"Commodore",
"Common dolphin",
"Common pitcherplant",
"Communication",
"Communication, letter writing",
"Communication, magazines",
"Communication, newspapers",
"Communications",
"Communion",
"Communities",
"Community slab",
"Company president",
"Comparative linguistics",
"Compass",
"Compasses (Direction indicators)",
"Competitions",
"Composer",
"Composers",
"Composers (Musicians)",
"Compositae",
"Composition and exercises",
"Compound eye",
"Compton Castle",
"Comptroller",
"Computer technology",
"Computers & Business Machines",
"Concerts",
"Concessions de terres",
"Conch",
"Conch shell",
"Conchologist",
"Conchologists",
"Concord",
"Concrete houses",
"Concubine",
"Condensed milk",
"Conduct of life",
"Conductor's baton",
"Conductors (Musicians)",
"Coney Island",
"Confections",
"Confederate First Lady",
"Confederate Official",
"Confederate President",
"Confederate Secretary of War",
"Confederate Vice President",
"Confrontation",
"Confucius",
"Congo (Democratic Republic)",
"Congregational churches",
"Congress Park Ramble",
"Congresses and conventions",
"Congressional Gold Medal",
"Congressmen",
"Conic sections",
"Conidae",
"Conifers",
"Coniocybomycetes",
"Conjoined twins",
"Conjugatae",
"Connecticut River",
"Connecticut State Capitol",
"Connective tissues",
"Connoisseur",
"Conoidasida",
"Conopholis americana",
"Conradina verticillata",
"Conservation and restoration",
"Conservationist",
"Conspirator",
"Constantinople",
"Construction",
"Construction projects",
"Consul",
"Consumption",
"Containers",
"Contemporary (1990-present)",
"Continental Arms",
"Continental congressman",
"Contortionist",
"Contract bridge",
"Contractor",
"Control",
"Controversial literature",
"Conus",
"Convent",
"Convent founder",
"Convent of Elijah",
"Convent of Las Monjas",
"Conversation",
"Conversion",
"Conway River",
"Cook",
"Cook City",
"Cookbook",
"Cooking",
"Cooking (Eggs)",
"Cooking (Seafood)",
"Cooking (Shellfish)",
"Cooking (Vegetables)",
"Cooking, American",
"Cooking, English",
"Cookware",
"Coonskin cap",
"Cooper",
"Copenhagen porcelain",
"Copepoda",
"Copp Collection",
"Copper enameling",
"Copper implements",
"Copper mines and mining",
"Copper-green lead glaze",
"Copperfield, David (Literary character)",
"Copy",
"Copybooks",
"Copying",
"Coquillages",
"Coral reefs and islands",
"Corals",
"Corals, Fossil",
"Corathorhiza corallorhiza",
"Coraux",
"Corbicula fluminea",
"Corcoran Gallery of Art",
"Cordage industry",
"Cordelia",
"Corduliidae",
"Corfu",
"Corfu Harbor",
"Corinito",
"Cormorant",
"Corn",
"Corn Dance",
"Corn cob pipe",
"Cornish",
"Cornstarch",
"Cornucopia",
"Cornus canadensis",
"Cornus florida",
"Cornus nuttallii",
"Cornwall",
"Cornwallis",
"Corona Austrina",
"Coronation",
"Coronation of Mary",
"Coronations",
"Corpse",
"Correspondence",
"Correspondent",
"Corsage",
"Cortina",
"Corvidae",
"Corvus",
"Corwin (Revenue-cutter)",
"Corylophidae",
"Corylus rostrata",
"Coryphantha arizonica",
"Cos Cob Harbor",
"Cosmetics",
"Cosmography",
"Cosmology",
"Cosmology, Medieval",
"Cost of operation",
"Costume",
"Costume accessories",
"Costume and dress",
"Costume designer",
"Costume, French",
"Coteau des Prairies",
"Cottidae",
"Cotton",
"Cotton States Exposition",
"Cotton growing",
"Cotton manufacture",
"Cotton plantations",
"Cottonwood tree",
"Couch",
"Couches",
"Couching",
"Cougar",
"Council",
"Counters",
"Country (Music)",
"Country dancing",
"Country homes",
"County Clerk",
"Couple",
"Couples",
"Cour du Corbeau",
"Cour du Dragon",
"Courage",
"Court",
"Court Street",
"Court and courtiers",
"Court clerk",
"Courtesan",
"Courtesans",
"Courtesans in art",
"Courtesy",
"Courthouse",
"Courtier",
"Courting",
"Courtroom",
"Courts",
"Courtship",
"Covered wagon",
"Covers & Letters",
"Covers (Philately)",
"Cowania stanshuriana",
"Cowboy hat",
"Cowboys",
"Cowing and Co.",
"Cowpens, Battle of (South Carolina : 1781)",
"Cowries",
"Cows",
"Cox",
"Coyote",
"Coypu",
"Crabs",
"Crabs, Fossil",
"Cracca virginiana",
"Cradle",
"Cradleboard",
"Crafts",
"Crafts and Trades",
"Craftsmanship",
"Cranberry Island",
"Cranberrybush",
"Crane",
"Crane flies",
"Crane-fly orchis",
"Cranes (Birds)",
"Cranes (Zoology)",
"Crangonidae",
"Craniology",
"Crassulaceae",
"Crataegus coccinea",
"Crate",
"Crater",
"Crawford Notch",
"Crayfish",
"Cream violet",
"Creek War, 1813-1814",
"Creeping juniper",
"Cremation",
"Crepidula",
"Crepis elegans",
"Crescents (shapes)",
"Crested iris",
"Cretaceous Geologic Period",
"Criccieth",
"Cricket",
"Crickets",
"Crime",
"Criminal",
"Criminal justice, Administration of",
"Criminal law",
"Criminals",
"Crinoidea",
"Crinoidea, Fossil",
"Cripple Creek",
"Critic",
"Criticism",
"Crocheting",
"Crocodiles",
"Crocus",
"Cromlech",
"Cromolithography",
"Crops and climate",
"Croquet",
"Cross",
"Cross Timbers",
"Cross, Sign of the",
"Cross-stitch",
"Crosses",
"Crosses (objects)",
"Crossvine",
"Crow",
"Crow Creek",
"Crowberry",
"Crowd",
"Crowds",
"Crown",
"Crowns",
"Crowns (costume components)",
"Crowns (headdresses)",
"Crowpoison",
"Crows",
"Crucifix",
"Crucifixion",
"Cruelty",
"Crusaders Gate",
"Crusades",
"Crustacea",
"Crustacea (Heller)",
"Crustacea, Fossil",
"Crustaceans",
"Crustacës",
"Crutch",
"Cryptobranchus Japonicus",
"Cryptocephalus",
"Cryptogamae",
"Cryptogames",
"Cryptogams",
"Cryptomeria",
"Cryptostomata",
"Crystallography",
"Crystals",
"Ctenophora",
"Cubism",
"Cubomedusae",
"Cubozoa",
"Cuckoo",
"Cuckoos",
"Cucujidae",
"Cucumber cactus",
"Cucumber tree",
"Cucumbers",
"Cuernavaca",
"Cufflinks",
"Culinary Arts",
"Culinary Equipment",
"Cultural critic",
"Cultural organization administrator",
"Cumacea",
"Cumae",
"Cumberland Mountains",
"Cuneiform inscriptions",
"Cup",
"Cupid",
"Cupressus macrocarpa",
"Curators",
"Curculionidae",
"Curculonidae",
"Curimatidae",
"Curiosities and wonders",
"Curiosity",
"Curly clematis",
"Curmillon",
"Currant",
"Currecanti Needle",
"Currier & Ives",
"Cursive script",
"Cursive writing",
"Curtain",
"Curtiss Jenny airplane",
"Curtiss No. 1 (Airplane)",
"Custom house",
"Customary law",
"Customers & Commerce",
"Customs Agent",
"Cut toothwort",
"Cut velvet",
"Cut-leaf fleabane",
"Cut-out",
"Cut-out craft",
"Cutler",
"Cuttlefish",
"Cuyamaca Mountains",
"Cvil Engineering",
"Cvil Rights",
"Cyanobacteria",
"Cycadeoideopsida",
"Cycadopsida",
"Cycling",
"Cycling for women",
"Cyclists",
"Cyclophoridae",
"Cyclops",
"Cyclostomata",
"Cymbal",
"Cyperacea",
"Cyperaceae",
"Cypraea",
"Cypress",
"Cypress tree",
"Cypress vine",
"Cypridedium acaule",
"Cyprinidae",
"Cyprinidae, Fossil",
"Cypriniformes",
"Cyprinodontidae",
"Cyprinus",
"Cypripedium arietinum",
"Cypripedium montanum",
"Cypripedium parviflorum",
"Cypripedium passerinum",
"Cypripedium reginae",
"Cyrtopodium punctatum",
"Cystoidea",
"Cystoporata",
"Cytherea Lamarck",
"Cytherea bulbosa",
"DESCRIPCIONES Y VIAJES",
"DJs (Musicians)",
"Dacca",
"Dachshunds",
"Daffodils",
"Dagger",
"Daggers & swords",
"Daguerreotypist",
"Dahlia",
"Daikokuten (Japanese deity)",
"Daily Life",
"Dairy products industry",
"Daisies",
"Daisy",
"Dalmatian dog",
"Damask",
"Damnation of Theron Ware or Illumination",
"Dams",
"Damselflies",
"Danae? (Greek mythology)",
"Dance",
"Dance Instructor",
"Dance cards",
"Dance notation",
"Dance of death",
"Dance orchestra music",
"Dance orchestra music, Arranged",
"Dancer",
"Dancers",
"Dandelion",
"Danger",
"Daniel (Biblical figure)",
"Daoism",
"Daoist Immortals",
"Daphne (Greek deity)",
"Darbar",
"Daredevils",
"Darlingtonia",
"Dasharatha",
"Date palm",
"Dating (Social customs)",
"Daudebardia",
"Daughter of US President",
"Dawn",
"Day",
"Daylily",
"De Vinne Press",
"DeAutremont train robbery, 1923",
"Dead animals",
"Dealer",
"Dealers (Retail trade)",
"Dean",
"Death",
"Death (Biology)",
"Death camas",
"Death in art",
"Death mask",
"Death valley sage",
"Decanter",
"Decapoda",
"Decapoda (Crustacea)",
"Decapoda (Crustacea), Fossil",
"Decapoda (Crustecea)",
"Deception",
"Deck rail",
"Declaration of Independence (United States)",
"Declaration of Independence, Signing of",
"Declination (Astronomy)",
"Decolonization",
"Decomposition (Chemistry)",
"Decoration and ornament",
"Decoration and ornament, Ancient",
"Decoration and ornament, Jacobean",
"Decoration and ornament, Medieval",
"Decorations",
"Decorative arts, Rococo",
"Decoys (Hunting)",
"Deep diving",
"Deep-sea biology",
"Deep-sea sounding",
"Deep-sea temperature",
"Deer hunting",
"Deerberry",
"Defeat",
"Defense industries",
"Delegate",
"Delftware",
"Delphinium",
"Delphinium depauperatum",
"Delphinium elongatum",
"Delphinium nudicale",
"Delphinium nuttallianum",
"Delphinium scopulorum",
"Delphinus",
"Deluge",
"Demeter (Greek deity)",
"Demon",
"Demonology",
"Demons",
"Demospongea",
"Demospongiae",
"Denderah",
"Dendrocoelum",
"Dendromecon rigidum",
"Dentalium",
"Dentaria laciniata",
"Dentistry",
"Dentists",
"Dentition",
"Depression",
"Descrição",
"Description and travel",
"Desert biology",
"Desert mariposa",
"Deserts",
"Design",
"Design and construction",
"Designating Flags",
"Desks",
"Desmidaceae",
"Desmidiaceae",
"Desperado",
"Detail",
"Details",
"Detective",
"Determination",
"Developer",
"Development of the Industrial United States",
"Developmental biology",
"Devi (Hindu deity)",
"Devices (Heraldry)",
"Devil",
"Devil's club",
"Dewberry vine",
"Dexter",
"Découverte et exploration",
"Dge-lugs-pa (Sect)",
"Dharmacakra",
"Dhayanibuddha",
"Dhritarastra",
"Dialect literature, American",
"Dialects",
"Dialogues",
"Diamond Ice and Coal Company",
"Diamond cutting",
"Diamond mines and mining",
"Diamonds",
"Diana (Roman deity)",
"Diaptomus",
"Diaries (form)",
"Diarist",
"Diatoms",
"Dick Swiveller",
"Dicotelydonae",
"Dicotyeldonae",
"Dicotyledonae",
"Dicotyledonae (basal)",
"Dicotyledoneae",
"Dicotyledons",
"Dictator",
"Dictionnaires franc̈ais",
"Didactic poetry",
"Dido (Legendary character)",
"Dierkunde",
"Diesinker",
"Differential equations",
"Digestive organs",
"Dime novels, American",
"Dimorphism (Animals)",
"Dining room",
"Dining rooms",
"Dinners and dining",
"Dinosaurs",
"Dionaea muscipula",
"Dionysus (Greek deity)",
"Diopsis",
"Diospyros virginiana",
"Diplacus longiflorus",
"Diplaucus puniceus",
"Diplomacy",
"Diplomatic Agent",
"Diplomatic relations",
"Diplomats",
"Diplopoda",
"Dipnotetrapodomorpha",
"Diptera",
"Diptera, Fossil",
"Diptères",
"Directoire style",
"Disasters",
"Disciple",
"Disco (Music)",
"Discoboli",
"Discoveries in geography",
"Discovery Dance",
"Discovery and exploration",
"Discovery and exploration, German",
"Discovery of United States",
"Discrimination",
"Discus Thrower",
"Disease and hygiene",
"Diseases",
"Diseases and pests",
"Dish",
"Dishes",
"Dispensaries",
"Dispersal",
"Display Gardens",
"Disporum hookeri",
"Disporum trachycarpum",
"Dissection",
"Dissertations, Academic",
"Distillation",
"Distillation apparatus",
"Distiller",
"Distilleries",
"Distinction",
"Distinguished Service Medal",
"Distomum macrostomum",
"District Attorney",
"Divan",
"Divination",
"Diving",
"Division",
"Docotyledonae",
"Dodecatheon hendersonii",
"Dodecatheon meadia",
"Dodecatheon pauciflorum",
"Dodo",
"Dog Dance",
"Dog Feast",
"Dog-fennel",
"Dogbane",
"Doge Dodolo",
"Doge's Palace",
"Dogfish",
"Dogs",
"Dogwood",
"Dolichopodidae",
"Dollar sign",
"Dolls",
"Dolphin",
"Dolphins",
"Dome",
"Domestic",
"Domestic animals",
"Domestic life",
"Domestic slave trade",
"Domestic worker",
"Domestication",
"Dominy",
"Don Juan (Legendary character)",
"Don Quixote (Fictitious character)",
"Donacidae",
"Donkey",
"Donna Anna",
"Door fittings",
"Door knobs",
"Doors",
"Doorstops",
"Doorway",
"Doorways",
"Dormice",
"Dothideomycetes",
"Double basses",
"Double bladderpod",
"Douglas fir",
"Douglas honeysuckle",
"Dove",
"Dovecotes",
"Downy pinxterbloom",
"Dracula, Count (Fictitious character)",
"Drafting & Writing Implements",
"Drafting board",
"Drafting, Engineering",
"Draftsman",
"Dragging",
"Dragon",
"Dragonflies",
"Dragons",
"Drama",
"Drama (Theatre)",
"Draparnaud collection",
"Drape",
"Draperies",
"Drawing",
"Drawings",
"Drawn-work",
"Dream",
"Dreaming",
"Dreams",
"Dredges",
"Dredging",
"Dredging (Biology)",
"Dreissena",
"Dreissenidae, Fossil",
"Dresden porcelain",
"Dress accessories",
"Dress up",
"Dressage",
"Dresser",
"Dressing room",
"Dressmaker",
"Dressmaking",
"Driftway",
"Drinking cups",
"Drinking customs",
"Drinking vessel",
"Drinking vessels",
"Driving of horse-drawn vehicles",
"Droit commercial",
"Drosera rotundifolia",
"Drought",
"Drowning",
"Druckschrift",
"Drug use",
"Drummer",
"Drummond pitcherplant",
"Drummond willow",
"Drums (Membranophones)",
"Drums (Musical instruments)",
"Dry goods merchant",
"Dry-goods",
"Dryad",
"Dryas drummondii",
"Dryas octopetala",
"Dubuque",
"Duchess",
"Duck (Textile)",
"Duck shooting",
"Ducks",
"Duke",
"Duke of Urbino",
"Dummies (Bookselling)",
"Dumontia filiformis",
"Dunrobin",
"Duplicate whist",
"Durga? (Hindu deity)",
"Durham Cathedral",
"Dusk",
"Dutch colonialism",
"Dutchman's breeches",
"Dutchman's pipe",
"Dwarf fruit trees",
"Dwarfs",
"Dwellings",
"Dyes and dyeing",
"Dynamics",
"Dynasty 18 (ca. 1539 - 1295 BCE)",
"Dytiscidae",
"Dytiscidœ",
"Dßecouvertes d'or",
"EXPEDICIONES CIENTIFICAS",
"Eagle (Airship)",
"Eagle Hotel",
"Eagles",
"Ear",
"Early American History",
"Early Nation's Period (1776-1800)",
"Early printed books",
"Earth",
"Earth Sciences",
"Earth scientists",
"Earthquakes",
"Earwigs",
"East Africa",
"Easter",
"Eastern Ganga dynasty (700 - 1299)",
"Eastern Wei dynasty (534 - 550)",
"Eastern Zhou dynasty (770 - 221 BCE)",
"Ebisu (Japanese deity)",
"Ecclesiastical Wares",
"Echinidae",
"Echinocereus viridiflorus",
"Echinodermata",
"Echinoderms",
"Echinoidea",
"Echinothuriidae",
"Echinozoa",
"Echiura",
"Eclipses",
"Ecology",
"Economics",
"Ectocarpales",
"Edged Weapons",
"Editorial writer",
"Editors",
"Edo period",
"Edo period, Japan, (1600 - 1868)",
"Edo period, Japan, 1600-1868",
"Edrioasteroidea",
"Education",
"Education and Scholarship",
"Education, College",
"Educational organization",
"Educators",
"Eels",
"Eggs",
"Eggshells",
"Egrets",
"Egyptologists",
"Egyptology",
"Eight Views of Xiao-Xiang",
"El Candelaria",
"El Khadin",
"El Tih",
"Elaeagnaceae",
"Elaine of Astolat (Legendary character)",
"Elbow-stones",
"Elder",
"Elder tree",
"Elderberry",
"Elections",
"Electric apparatus and appliances",
"Electric conductivity",
"Electric currents",
"Electric fishes",
"Electric industries",
"Electric machinery",
"Electric power",
"Electric power supplies to apparatus",
"Electrical engineer",
"Electrical engineering",
"Electricity",
"Electrochemistry",
"Electromagnets",
"Electronic apparatus and appliances",
"Electroplating",
"Electrostatic apparatus and appliances",
"Electrostatics",
"Elephant hunting",
"Elephanthead",
"Elephants",
"Elevators",
"Eleven Thousand Virgins (Legendary saints)",
"Eliot",
"Elizah",
"Elkslip",
"Ellipsographs",
"Ellis Island",
"Ellis River",
"Ellobiidae",
"Elm",
"Elm House",
"Elm tree",
"Emancipation",
"Emancipation Proclamation",
"Embalming",
"Embezzlement",
"Emblems",
"Embroidered Pictures",
"Embroidery",
"Embryo, Nonmammalian",
"Embryology",
"Emigration and immigration",
"Emissary",
"Emotions",
"Empetrum nigrum",
"Empididae",
"Empire style (Decoration and ornament)",
"Employees",
"Employment",
"Empress",
"Emys",
"Enamel",
"Enamel and enameling",
"Encyclopedias and dictionaries",
"Endymion (Greek mythology)",
"Enema",
"Energy & Power",
"Engagement between Bonhomme Richard and Serapis",
"Engineering",
"Engineers",
"Engines",
"English West Indian Expedition, 1795-1796",
"English sparrow",
"Engravers",
"Engraving",
"Engraving tool",
"Engraving, Colonial",
"Enquêtes scientifiques",
"Enshū school",
"Enshū-ryū school",
"Enslaved person",
"Entertainers",
"Entomologists",
"Entomology",
"Entomostraca",
"Entomostraca, Fossil",
"Entrepreneurship",
"Envelopes (Stationery)",
"Epicampes",
"Epidermis",
"Epilobium",
"Epitaphs",
"Equine",
"Equipment",
"Equisetopsida",
"Equisetum",
"Equistopsida",
"Equuleus",
"Eraus",
"Eremalche rotundifolia",
"Ericaceae",
"Ericas",
"Erie railroad",
"Erigenia bulbosa",
"Erigeron acris",
"Erigeron aureus",
"Erigeron caespitosus",
"Erigeron compositus",
"Erigeron compositus nudus",
"Erigeron jucundus",
"Erigeron lanatus",
"Erigeron macranthus",
"Erigeron salsuginosus",
"Erigeron speciosus",
"Erigeron unalaschcensis",
"Eriophorum angustifolium",
"Eriophorum chamissonis",
"Eritichum elongatum",
"Erligang period, Early Shang dynasty (ca. 1600 - ca. 1400 BCE)",
"Ernest K. Ackerman Collection of U.S. Proofs",
"Eros",
"Erotylidae",
"Erysimum wheeleri",
"Erythronium albidum",
"Erythronium grandiflorum",
"Erythronium montanum",
"Eschatology",
"Eschscholtzia californica",
"Eschscholtzia glyptosperma",
"Eschscholtzia mexicana",
"Escuintla",
"Escutcheon",
"Esk River",
"Essayist",
"Essays and proofs (Philately)",
"Essen",
"Essences and essential oils",
"Essex County",
"Estes Park",
"Estheria, Fossil",
"Estuaries",
"Etaples",
"Etcher",
"Etchers",
"Etching",
"Etching, American",
"Etching, British",
"Eternity",
"Ethics",
"Ethnic Groups",
"Ethnic costume",
"Ethnic relations",
"Ethnobotany",
"Ethnological museums and collections",
"Ethnologist",
"Ethnology",
"Ethnozoology",
"Etiquette",
"Etiquette for men",
"Eton College",
"Etruscan influences",
"Eucalyptus",
"Euclid's Elements",
"Eucnemidae",
"Eudrilidae",
"Eulimidae",
"Euonymus americanus",
"Eupatorium urticaefolium",
"Euphausiacea",
"Euphorbiales",
"Eurasian red squirrel",
"Europa",
"European Art",
"European bison",
"Eurotatoria",
"Eurotiomycetes",
"Eurydice",
"Eurypterida",
"Eustoma russelianum",
"Eutardigrada",
"Evangeline",
"Evangelist",
"Evangelists",
"Eve (Biblical figure)",
"Evening",
"Evening primrose",
"Evergreen saxifrage",
"Evergreen tree",
"Evergreens",
"Evian",
"Evil",
"Evolution",
"Evolution (Biology)",
"Examination",
"Excavations (Archaeology)",
"Excerpts",
"Excerpts, Arranged",
"Excretion",
"Excretory organs",
"Execution",
"Executive",
"Executive Clerk of White House",
"Executive departments",
"Exercise",
"Exercise therapy",
"Exhibit stands",
"Exhibition buildings",
"Exhibition catalogs",
"Exhibition designer",
"Exhibitions",
"Exhibitions, San Diego, 1915-16",
"Exorcism",
"Expeditions",
"Experiments",
"Expéditions scientifiques",
"Exploration",
"Exploration and Discovery",
"Explorations and surveys",
"Explorers",
"Exploring expeditions",
"Explosions",
"Exposition",
"Expositions",
"Exterior with Interior View",
"Extinct animals",
"Extinct birds",
"Extinct cities",
"Extinct mammals",
"Eye Image",
"Eye wear",
"Eyeglasses",
"Écriture",
"Étude et enseignement",
"FBI Director",
"Fables",
"Fables, Hottentot",
"Fabric vendor",
"Face",
"Face in art",
"Faces",
"Facial Hair",
"Facial expression",
"Facsimiles",
"Factory",
"Factory inspection",
"Faience",
"Fair",
"Fairies",
"Fairmount",
"Fairmount Park",
"Fairs",
"Fairy",
"Fairy Glen",
"Fairy costume",
"Fairy tales",
"Fairy-bells",
"Faith",
"Falcon",
"Falconidae",
"Falconiformes",
"Falconry",
"Falcons",
"Falls of Minnehaha",
"Falls of Saint Anthony",
"Falls of Tivoli",
"Falls of the Michatoya",
"Falls of the Oroyo Delia",
"Fallugia paradoxa",
"False Wicheta",
"False dandelion",
"False indigo",
"False locoweed",
"False solomon's-seal",
"Fame's Penny Trumpet",
"Famiies",
"Family",
"Family portrait",
"Fan bearers",
"Fan painting, Japanese",
"Fancy Girl trade",
"Fancy work",
"Fans",
"Fans (Accessories)",
"Fantasia",
"Fantastic aircraft",
"Fantastic architecture",
"Fantasy",
"Fantasy fiction",
"Far East",
"Fares",
"Farewell-to-spring",
"Farewells",
"Faries in art",
"Farm machine",
"Farmer Brown",
"Farmers",
"Farmhouse",
"Farms",
"Fasces",
"Fasciolariidae",
"Fashion",
"Fashion merchandising",
"Fates",
"Father and child",
"Fatherhood",
"Fatimid period (909 - 1171)",
"Faun",
"Faune marine",
"Faunus",
"Faust",
"Fear",
"Feast day",
"Feasting",
"Feather",
"Feather-wing beetles",
"Feathers",
"Federal Hall",
"Federal Reserve Chairman",
"Federal building",
"Fedora",
"Felidae",
"Female and child",
"Female use",
"Feminine names",
"Feminism",
"Feminist",
"Femmes",
"Femur",
"Fence",
"Fencer",
"Fences",
"Fencing",
"Fermentation",
"Ferneries (greenhouses)",
"Ferns",
"Ferns, Fossil",
"Ferns, Ornamental",
"Ferrara",
"Ferris wheels",
"Ferry",
"Fertilization of plants",
"Fertilization of plants by insects",
"Fescue",
"Festival of the Felibres",
"Festivals",
"Festoons",
"Fetal presentation",
"Fetishism",
"Fez",
"Fichtelite",
"Fiction",
"Ficus (Plants)",
"Field crops",
"Field violet",
"Fierasferidae",
"Fiesole",
"Fiesole Cathredral",
"Fifth Avenue Hotel",
"Fifty-Seventh Street",
"Fig",
"Fighter pilots",
"Fighter plane combat",
"Fighter planes",
"Figure female",
"Figure group",
"Figure male",
"Figure painting",
"Figure skating",
"Figure(s) in exterior",
"Figureheads of ships",
"Filices",
"Filigree",
"Finance",
"Finance and Investments",
"Financier",
"Finches",
"Fins (Anatomy)",
"Fire",
"Fire Chief",
"Fire Dance",
"Fire Engine Plates",
"Fire Fighting",
"Fire Hats",
"Fire Helmets",
"Fire Island",
"Fire Marks",
"Fire axes",
"Fire engine",
"Fire engines",
"Fire hat",
"Fire hats",
"Fire insurance",
"Fire penstemon",
"Fire pink",
"Fire prevention",
"Fire station",
"Firearms",
"Firefighter",
"Firefighters",
"Firefighting Capes",
"Firefighting Collection",
"Fireflies",
"Firefly",
"Fireman",
"Fireplace",
"Fireplaces",
"Fireweed",
"Firewood",
"Fireworks",
"First Lady of US",
"First Presbyterian Church",
"First communion",
"First contact with other peoples",
"First ladies",
"Fish as food",
"Fish culture",
"Fish hatcheries",
"Fish trade",
"Fisher",
"Fisher's Pond",
"Fisheries",
"Fisherman",
"Fishery law and legislation",
"Fishery products",
"Fishery research stations",
"Fishes",
"Fishes &z Caucasus, Northern (R.S.F.S.R.)",
"Fishes in art",
"Fishes, Fossil",
"Fishing",
"Fishing Pole",
"Fishing boat",
"Fishing nets",
"Fishing tackle",
"Fishmonger",
"Fishways",
"Fissurellidae",
"Five Dynasties period (907 - 960)",
"Flags",
"Flame azalea",
"Flaming pearl",
"Flamingo",
"Flandre",
"Flask",
"Flat-footed flies",
"Flatfish fisheries",
"Flatfishes",
"Fleabane",
"Fleur-de-lis",
"Fleurie",
"Flies as carriers of contagion",
"Flies as carriers of disease",
"Flight",
"Flight of Jesus Christ into Egypt",
"Flightless birds",
"Flights",
"Flint",
"Floods",
"Floor",
"Floral Accessories",
"Floral decorations",
"Floral designers",
"Floral frames",
"Florence",
"Floriculture",
"Florideophyceae",
"Florist",
"Flower arrangement",
"Flower arrangement, Japanese",
"Flower arranging",
"Flower gardening",
"Flower language",
"Flowering dogwood",
"Flowers",
"Flowers in art",
"Flowers in literature",
"Floyd",
"Floyd S. Leach Collection",
"Fluid mechanics",
"Flute",
"Flutes",
"Flutist",
"Fly whisk",
"Flycatcher",
"Flying Dutchman",
"Flying-machines",
"Fob",
"Fog",
"Foliage",
"Folk (Music)",
"Folk art",
"Folk literature",
"Folk music",
"Folk songs",
"Folk songs, English",
"Folk tales",
"Folklife",
"Folklore",
"Folklore of birds",
"Folklore, Scottish",
"Folklorist",
"Folly or Saintliness",
"Fontainbleau Forest",
"Fontaine des Sirenes",
"Food",
"Food & Agriculture",
"Food Culture",
"Food Processing",
"Food crops",
"Food habits",
"Food law and legislation",
"Food of animal origin",
"Foodstuff",
"Foot",
"Foot malady",
"Football",
"Footbridge",
"Footprints, Fossil",
"Footstool",
"Footwear",
"Forage plants",
"Foraminifera incertae sedis",
"Foraminiferida",
"Force and energy",
"Foreign",
"Foreign Leader",
"Foreign mail",
"Foreign relations",
"Foreigner",
"Forest anemone",
"Forest animals",
"Forest ecology",
"Forest insects",
"Forest products industry",
"Forester",
"Forestry law and legislation",
"Forests",
"Forests and forestry",
"Forficulidae",
"Forger",
"Forgeries",
"Forgery",
"Forgery of antiquities",
"Forget-me-not",
"Formal dress",
"Formations (Geology)",
"Forms (Law)",
"Formulas, recipes, etc",
"Fort",
"Fort George Island",
"Fort Hell",
"Fort Keogh",
"Fort Montgomery",
"Fort Pierre",
"Fort Point",
"Fort San Juan de Ulua",
"Fort Sedgwick",
"Fort Union",
"Fortification",
"Fortitude",
"Fortress",
"Fortune",
"Fortune teller",
"Forty-niner costume",
"Forum",
"Fossil hominids",
"Fossiles",
"Fossils",
"Foucault's pendulum",
"Fougères",
"Founder",
"Founder of religious order",
"Foundry",
"Fountain",
"Fountain of the Great Lakes",
"Fountains",
"Fouquieria splendens",
"Fourth of July",
"Fowling",
"Foxes",
"Foxglove penstemon",
"Foxtrot (Dance)",
"Foxtrots",
"Foyer",
"Fósseis",
"Fractur",
"Fragaria glauca",
"Fragilariaceae",
"Fragment",
"Frame",
"Frame components",
"Francesco",
"Franconia Mountains",
"Franconia Notch",
"Frank E. Brownell",
"Franklin, Benjamin",
"Fraternal Associations",
"Fraternal organizations",
"Fraternities",
"Freda",
"Frederic",
"Frederick",
"Free blacks",
"Free communities of color",
"Freedom",
"Freemasons",
"Freiburg",
"Freight",
"Freighter",
"Fremontodendron mexicanum",
"French and Indian War (United States : 1754-1763)",
"French colonialism",
"French colonies",
"French dress",
"French literature",
"French wit and humor",
"French wit and humor, Pictorial",
"Fresh Pond",
"Fresh Water",
"Freshwater algae",
"Freshwater animals",
"Freshwater biology",
"Freshwater fishes",
"Freshwater invertebrates",
"Freshwater microbiology",
"Freshwater mussels",
"Freshwater plankton",
"Freshwater plants",
"Friendship",
"Frigate",
"Fringed gentian",
"Fringed parnassia",
"Fringed polygala",
"Fringetree",
"Fritillaria biflora",
"Fritillary",
"Frogs",
"Frontier and pioneer life",
"Frontiersman",
"Frontispiece",
"Fruit",
"Fruit seller",
"Fruit trees",
"Fruit-culture",
"Fucus",
"Fudo Myo-o",
"Fuel",
"Fugen",
"Fugitive enslaved",
"Fugitive slaves",
"Fujiyama",
"Fumigation",
"Funeral",
"Funeral rites and ceremonies",
"Funeral rites and customs",
"Funerary",
"Funerary objects",
"Funereal",
"Fungi",
"Fungus-of-immortality",
"Funk (Music)",
"Fur",
"Fur farming",
"Fur garments",
"Fur trade",
"Fur trader",
"Fur trim",
"Fur-bearing animals",
"Furnishings",
"Furniture maker",
"Furniture, Mission",
"Furniture, Neoclassical",
"Furniture, equipment, etc",
"Fusulinata",
"Future, The",
"Futurism (Art)",
"Gabriel",
"Gabriel (Archangel)",
"Gadus",
"Gadus merlangus",
"Gafu",
"Gaillardia aristata",
"Gaines' Mill, Battle of, Va, 1862",
"Galapagos tortoise",
"Galatheidae",
"Galium boreale",
"Gall midges",
"Gall wasps",
"Galleries",
"Galleries and museums",
"Galliformes",
"Galls (Botany)",
"Galops",
"Galveston",
"Gambler",
"Gambling",
"Game and game-birds",
"Game and game-birds in art",
"Game player",
"Game playing",
"Game protection",
"Games",
"Gammaridae",
"Gammarus",
"Ganga",
"Gansu ware",
"Gap",
"Garden of Eden",
"Garden pests",
"Garden rock",
"Gardenia",
"Gardening",
"Gardens",
"Gardens of Villa Palmieri",
"Gardens, Chinese",
"Gardens, English",
"Gardiner's Bay",
"Gardiner's River",
"Gardon River",
"Garland",
"Garlic",
"Garment cutting",
"Garrison cap",
"Garter snakes",
"Gas companies",
"Gas industry",
"Gas station",
"Gases",
"Gasterpoda",
"Gastropoda",
"Gastropoda, Fossil",
"Gate",
"Gates",
"Gathering",
"Gauchos",
"Gautama Buddha",
"Gavel",
"Gay liberation movement",
"Gaya",
"Gaylussacia brachycera",
"Gays",
"Gazebo",
"Gazelle (Corvette)",
"Gazetteers",
"Gebel el Haridi",
"Geckos",
"Geese",
"Geisha",
"Gelsemium sempervirens",
"Gem carving",
"Gemini",
"Gems",
"Gender issues",
"Genealogist",
"Genealogy",
"Geneaology",
"General Calculation",
"General Land Office",
"Generals",
"Generations, Alternating",
"Generative organs",
"Generative organs, Male",
"Genesis",
"Genetic aspects",
"Geneva",
"Genitourinary organs",
"Genoa",
"Genre painter",
"Genre painting",
"Gentian",
"Gentiana acuta",
"Gentiana affinis",
"Gentiana andrewskii",
"Gentiana crinita",
"Gentiana elegana",
"Gentiana glauca",
"Gentiana holopetala",
"Gentiana macounii",
"Gentiana newberri",
"Gentiana porphyrio",
"Gentiana propingua",
"Gentiana prostrata",
"Gentiana saponaria",
"Gentianacease sabbalia angularis",
"Gentianales",
"Gentianeceae",
"Gentry",
"Geodesy",
"Geografia do rio de janeiro",
"Geographer",
"Geographical distribution",
"Geographical positions",
"Geography",
"Geography, Ancient",
"Geological museums",
"Geological specimens",
"Geologist",
"Geologists",
"Geology",
"Geology, Economic",
"Geology, Stratigraphic",
"Geology, Structural",
"Geomagnetism",
"Geometric",
"Geometric function theory",
"Geometric motif",
"Geometrical drawing",
"Geometrical drawings",
"Geometrical optics",
"Geometridae",
"Geometry, Non-Euclidean",
"Geophysics",
"George Inn",
"George Mason Elementary Walkout",
"George Washington's Farewell Address",
"Georgetown",
"Geranium",
"Geranium viscosissimum",
"German Building",
"German periodicals",
"German wit and humor",
"Germination",
"Geschichte",
"Gesture",
"Gettysburg",
"Gettysburg Campaign, 1863",
"Geyser",
"Ghent",
"Ghost",
"Ghostpipe",
"Giant",
"Giant arborvitae",
"Giant helleborine",
"Giant red paintbrush",
"Giant trillium",
"Gibbon River",
"Gibier",
"Gibraltar",
"Gift books",
"Gift giving",
"Gila monster",
"Gila monsters",
"Gilding",
"Gilia aggregata",
"Gilia arizonica",
"Gilia linanthus parviflorus",
"Ginevra",
"Ginkgoopsida",
"Girl",
"Girl Scouts",
"Girls",
"Giudecca Canal",
"Given",
"Glacial epoch",
"Glacier",
"Glacier lily",
"Glaciers",
"Gladiolus",
"Gladys",
"Glass",
"Glasses",
"Glassware",
"Glassware, Ancient",
"Glassworker",
"Glauchau",
"Glebe Farm",
"Glenwood Springs",
"Gliding and soaring",
"Globe",
"Globe Mutiny, 1824",
"Globe anemone",
"Globes",
"Globothalamea",
"Gloria",
"Glossaries, vocabularies, etc",
"Gloster Mill",
"Glove",
"Gloves",
"Glue",
"Glyptics",
"Go (Game)",
"Goat",
"Goat Island",
"Goatee",
"Goats",
"Gobiidae",
"Goblet",
"God",
"Goddesses",
"Godetia amoena lilja",
"Gods, Yoruba",
"Godwin",
"Goethe",
"Goggles",
"Goiter",
"Gold",
"Gold discoveries",
"Gold miners",
"Gold mines and mining",
"Gold-leaf",
"Golden Age",
"Golden Fairy Lantern",
"Golden Gate Park",
"Golden fleabane",
"Golden sedge",
"Goldenbowl mariposa",
"Goldenclub",
"Goldenpea",
"Goldenstar",
"Goldfish",
"Goldsmith, Oliver",
"Goldwork",
"Golf",
"Golf Club",
"Golf for women",
"Golfer",
"Gondola",
"Gonfalons",
"Good Samaritan",
"Good Shepherd",
"Good and evil",
"Goose",
"Goose Creek",
"Gopi",
"Gorget",
"Gorgonacea",
"Gorgonidae",
"Gorilla",
"Goryeo period (918 - 1392)",
"Gospel (Music)",
"Gothic revival (Literature)",
"Gourd",
"Government",
"Government publications",
"Government relations",
"Governors",
"Governors Island",
"Gowanus Bay",
"Grackle",
"Grain",
"Grain elevator",
"Graining",
"Gramineae",
"Grammar",
"Granada",
"Grand Canal",
"Grand Canyon",
"Grand Canyon of the Colorado",
"Grand Canyon of the Yellowstone",
"Grand Central Hotel",
"Grand Central Station",
"Grand Detour",
"Grand Trianon",
"Grandeur",
"Grandfather Clock",
"Granite",
"Grape",
"Grape hyacinth",
"Grapes",
"Grapevine",
"Graphic arts",
"Graphic design (Typography)",
"Graptolithina",
"Grass nut",
"Grass-pink orchid",
"Grasses",
"Grasshoppers",
"Grassland ecology",
"Grassleaf agoseris",
"Gravestone",
"Gravitation",
"Gravity",
"Gray phacelia",
"Gray pussytoes",
"Gray ragwort",
"Grayleaf fivefinger",
"Great Depression",
"Great Lakes",
"Great Migration (African American), 1910-1930",
"Great Moon Hoax",
"Great Russian Ball",
"Great Salt Lake",
"Great Western",
"Great booby",
"Greek dress",
"Green River",
"Green adder's mouth",
"Green dragon",
"Green glaze",
"Green pyrola",
"Green strawberry cactus",
"Greenbear cabbage",
"Greendragon",
"Greenwich",
"Greenwood Lake",
"Greenwood tree",
"Gregarines",
"Grey Eagle",
"Greyhound",
"Grief",
"Grocer",
"Grocery",
"Groom",
"Grooming",
"Grooming Implements",
"Grosbeak",
"Ground beetles",
"Ground squirrels",
"Group identity",
"Groupers",
"Grouse",
"Grouse whortleberry",
"Grouseberry",
"Growth",
"Growth (Plants)",
"Guanyin",
"Guard",
"Guardhouse",
"Guardian lion",
"Guatemala City",
"Guggenheim",
"Guidebooks",
"Guides, manuels, etc",
"Guinea pigs",
"Guitar",
"Gulls",
"Gun control",
"Gunnery",
"Gunsmith",
"Gupta dynasty (300 - 699)",
"Gurus",
"Gutta-percha",
"Gym",
"Gymnastics",
"Gymnocerata",
"Gymnolaemata",
"Gymnosomata",
"Gymnospermae",
"Gymnospermopsida",
"Gymnosperms, Fossil",
"Gymnotidae",
"Gypsy moth",
"H. Prouse Cooper's Down Town Store",
"HBCUs (Historically Black Colleges and Universities)",
"HISTORIA NATURAL",
"Habenaria ciliaris",
"Habenaria grandiflora",
"Habenaria lacera",
"Habenaria obtusata",
"Habenaria psychodes",
"Hackensack",
"Haddock",
"Haddonfield",
"Hadrian",
"Hagar",
"Hagfishes",
"Haida poetry",
"Haida wood-carving",
"Haiga",
"Haikai",
"Haines Point",
"Hair",
"Hair Accessory",
"Hair band",
"Hair ornament",
"Hairdressing",
"Hairdressing of African Americans",
"Hairstyle",
"Hairwork jewelry",
"Hairy phlox",
"Halcyones",
"Hale",
"Half Dome",
"Halictidae",
"Halitherium",
"Hallmarks",
"Halloween",
"Halo",
"Hamamelis virginiana",
"Hamlet",
"Hammer",
"Hampstead Heath",
"Hampton County",
"Hampton County courthouse",
"Hampton Roads",
"Han dynasty (206 BCE - 220 CE)",
"Han dynasty, 202 B.C.-220 A.D.",
"Hancock",
"Hand",
"Hand Tools",
"Hand weaving",
"Hand-colored",
"Handbag",
"Handbooks",
"Handbooks, manuals, etc.",
"Handcuffs",
"Handicapped",
"Handkerchief",
"Handkerchiefs",
"Hands",
"Handwriting",
"Hangars",
"Hanging",
"Hanshita-e",
"Hanson",
"Hanuman",
"Happiness",
"Harbinger of spring",
"Harbors",
"Hardware",
"Hardware merchant",
"Harebell",
"Harlech",
"Harlem Renaissance (New Negro Movement)",
"Harlem River",
"Harmonica",
"Harmony",
"Harness making and trade",
"Harnesses",
"Harpacticoida",
"Harper's Monthly Magazine",
"Harper's Weekly",
"Harpers Ferry Raid",
"Harpoon",
"Harpoons",
"Harps (chordophones)",
"Harpsichordist",
"Harry L. Jefferys Collection",
"Hartford, CT",
"Harvard College",
"Harvard University",
"Harvest festival",
"Harvesting",
"Hat box",
"Hatchet",
"Hatchet Cove",
"Hate crimes",
"Hatmaking",
"Hatpins",
"Hats",
"Hausa literature",
"Haverhill",
"Hawaiian women",
"Hawk",
"Hawks",
"Hay",
"Hayle River",
"Hayride",
"Haystack",
"Haystacks",
"Haze",
"Hazel alder",
"Head in art",
"Headdresses",
"Headgear",
"Headless Horseman",
"Headscarf",
"Healing",
"Health",
"Health & Medicine",
"Hearing",
"Heart",
"Heart Mountain",
"Hearts (Symbols)",
"Hearts (motifs)",
"Hearts bustin' with love",
"Heater",
"Heather",
"Heating",
"Heaven",
"Hectograph",
"Hedge bindweed",
"Hedgehog cactus",
"Hedysarum",
"Hedysarum americanum",
"Hedysarum boreale",
"Hedysarum mackenzii",
"Hedysarum sulphurescens",
"Heian period (794 - 1185)",
"Heidelberg",
"Heieracium gracile",
"Helen",
"Helene",
"Helicidae",
"Helicinidae",
"Heliconidae",
"Helicoplacoidea",
"Heliotrope valerian",
"Helix (Mollusks)",
"Helix hortensis",
"Helix pomatia",
"Hell",
"Helmet Frontpieces",
"Helmets",
"Helminths",
"Hemichordata",
"Hemiptera",
"Henri Vever collection",
"Hentai-kana",
"Hepatica",
"Hepatica americana",
"Heraldry",
"Herb",
"Herb gathering",
"Herbals",
"Herbaria",
"Herbs",
"Hercules",
"Herd boy",
"Herding",
"Heredity",
"Heredity, Human",
"Herkimer",
"Hermannia (Animal)",
"Hermannia (Plant)",
"Hermes",
"Hermit",
"Hermit crabs",
"Hermitage",
"Heroes",
"Heroine",
"Herons",
"Herpetology",
"Herrick",
"Herring fisheries",
"Hesperiidae",
"Heteropoda",
"Heteropygii",
"Heterotardigrada",
"Hexacorallia",
"Hexactinellida",
"Hexanauplia",
"Hibiscus",
"Hibiscus moscheutos",
"Hickory",
"Hickory tree",
"Hicks",
"Hide and seek",
"Hieroglyph",
"High Island",
"High School",
"High Street",
"Highbridge",
"Highbush blackberry",
"Highbush blueberry",
"Highlands",
"Highway",
"Highway planning",
"Hill",
"Hilton Head Harbor",
"Hindu gods",
"Hip-hop (Music)",
"Hippolyte",
"Hippopotamus",
"Hirudinea",
"Hirzenach",
"Histeridae",
"Histoire",
"Histology",
"Historia do brasil",
"Historians",
"Historic buildings",
"Historic preservationist",
"Historic sites",
"Historical geography",
"Historical geology",
"Historical museums",
"Historical society administrator",
"Historiographer",
"History",
"History and criticism",
"History painter",
"History, General",
"History, Military",
"History, Naval",
"History, Reform Movements, Indian Movement",
"Hitching post",
"Hobbyhorse",
"Hochkirch",
"Hoe",
"Holidays",
"Holidays & Celebrations",
"Holidays and Celebrations, general",
"Holidays and festivals",
"Hollow-cut",
"Hollyhock",
"Hollywood (Film)",
"Holofernes",
"Holothurians",
"Holothuroidea",
"Holster",
"Holy Family",
"Holy Name Cathedral",
"Holy Sepulchre",
"Holy Spirit",
"Holy man",
"Holyoke",
"Homage",
"Homalozoa",
"Home Furnishings",
"Home economics",
"Home labor",
"Home life",
"Homecoming",
"Homelessness",
"Homer",
"Homer, Winslow",
"Homing pigeons",
"Homo erectus",
"Homoptera",
"Homoscleromorpha",
"Honeybee",
"Honeymoons",
"Honeysuckles",
"Honfleur",
"Hooded ladies-tresses",
"Hooded pitcherplant",
"Hook Pond",
"Hookah",
"Hoop rolling",
"Hoopoe",
"Hope",
"Horn",
"Horn fly",
"Hornbills",
"Hornbooks",
"Horns",
"Horse Race between Peytona and Fashion",
"Horse artillery",
"Horse breeder",
"Horse racing",
"Horse sports",
"Horseflies",
"Horsemen and horsewomen",
"Horsemen and horsewomen in art",
"Horses",
"Horses in art",
"Horses, Fossil",
"Horseshoe",
"Horseshoe Bend",
"Horseshoe Falls",
"Horseshoes (animal equipment)",
"Horticulture",
"Horticulturist",
"Horus",
"Hosea",
"Hosiery",
"Hospital",
"Hospital bed",
"Hospital founder",
"Hospital room",
"Host plants",
"Hostess",
"Hot air balloons",
"Hot spring",
"Hotei",
"Hotel",
"Hotel San Dominico",
"Hotelier",
"Hotels",
"Hougomont",
"Hound",
"Hours",
"Housatonic River",
"Housatonic Valley",
"House construction",
"House painting",
"Household",
"Household Tools and Equipment",
"Household appliances",
"Household linens",
"Household pests",
"Housekeeping",
"Housing",
"Houstonia",
"Houstonia caerulea",
"Houstonia procumbens",
"Houstonia serpyllifolia",
"Howdahs",
"Hoyt",
"Hoyt Mansion",
"Hudderfield",
"Hudson Flyer (Airplane)",
"Hudson-Fulton Celebration, 1909",
"Hugo",
"Hula (Dance)",
"Hula dancing",
"Human Figures",
"Human beings",
"Human biology",
"Human figure in art",
"Human remains (Archaeology)",
"Human spaceflight",
"Humanitarian Causes",
"Humanitarian organization administrator",
"Humanitarian organization founder",
"Humanitarianism",
"Humanities",
"Humans",
"Hummingbirds",
"Humorist",
"Humorous music",
"Humorous songs",
"Humus",
"Hunger",
"Hungerford Bridge",
"Hunter",
"Hunting",
"Hunting Park",
"Hunting and gathering societies",
"Hunting customs",
"Hunting stories",
"Hunting trophies",
"Hunting/Fishing",
"Huntingdon Valley",
"Hur (Biblical character)",
"Hurdy-gurdy",
"Hyaku Monogatari",
"Hyattstown",
"Hybrid pitcherplant",
"Hybridization",
"Hydrachnidae",
"Hydrants",
"Hydraulic engineering",
"Hydraulic equipment",
"Hydraulic machinery",
"Hydraulic structures",
"Hydrocotyle",
"Hydrographer",
"Hydrography",
"Hydroida",
"Hydrology",
"Hydromedusae",
"Hydrophilidae",
"Hydrostatics",
"Hydrozoa",
"Hymenocallis rotata",
"Hymenoptera",
"Hymns",
"Hymns, Arikara",
"Hymns, Cheyenne",
"Hymns, Chinook",
"Hymns, Chinook jargon",
"Hymns, Chipewyan",
"Hymns, Chippewa",
"Hymns, Cree",
"Hymns, Creek",
"Hymns, Dakota",
"Hymns, Delaware",
"Hymns, English",
"Hymns, Eskimo",
"Hymns, Etchareottine",
"Hymns, Gwich'in",
"Hymns, Hawaiian",
"Hymns, Hidatsa",
"Hymns, Ingalik",
"Hymns, Inuit",
"Hymns, Iroquois",
"Hymns, Mandan",
"Hymns, Micmac",
"Hymns, Mohawk",
"Hymns, Navaho",
"Hymns, Ojibwa",
"Hymns, Omaha",
"Hymns, Ottawa",
"Hymns, Santee",
"Hymns, Seneca",
"Hyolitha",
"Hypericum",
"Hypericum perforatum",
"Hyperiidae",
"Hyperiidea",
"Hypnotist",
"Hypopitys americana",
"Hypopitys lanuginosa",
"Hypostomus",
"Hythe",
"INDIOS DE AMERICA DEL NORTE",
"Ibek",
"Ibex",
"Ibidium cernum",
"Ibidium gracile",
"Ibidium strictum",
"Ibises",
"Icahabod Crane",
"Icarus (Greek mythological character)",
"Ice",
"Ice Skater",
"Ice Skating",
"Ice cream",
"Ice cutting",
"Ice floes",
"Iceberg",
"Iceberg Canyon",
"Ichneumonidae",
"Ichnites",
"Ichnites amphibia",
"Ichnofossil",
"Ichthyology",
"Idealism in art",
"Idoteidae",
"Igneous rocks",
"Iguanas",
"Ikenobō school",
"Il-Khanid dynasty (1256 - 1353)",
"Ilex verticillata",
"Ilex vomitoria",
"Illegal slave trade",
"Illumination",
"Illumination of books and manuscripts",
"Illumination of books and manuscripts, Byzantine",
"Illustrated",
"Illustrated books",
"Illustrated children's books",
"Illustration",
"Illustrations",
"Illustrator",
"Imaginary",
"Imagination",
"Imam",
"Immaculate Conception",
"Implements",
"Importer",
"Imposition (Printing)",
"Impresario",
"Imprints (Publications)",
"Imprisonment",
"In art",
"In literature",
"Inaugurations",
"Incense",
"Incertae sedis",
"Inchū school",
"Incunabula",
"Independence Hall",
"Independent Order of Odd Fellows",
"Independent films",
"Indet.",
"Indexes",
"Indian Affairs",
"Indian Peace Medal",
"Indian paintbrush",
"Indian reservations",
"Indians, North American",
"Indians, South American",
"Indicators",
"Indiens",
"Indigo",
"Indoor gardening",
"Indra",
"Industrial arts",
"Industrial design",
"Industrial districts",
"Industrial hygiene",
"Industrial policy",
"Industrialist",
"Industrialists",
"Industrialization",
"Industries",
"Industries, Primitive",
"Infancy",
"Inferno",
"Inflation",
"Inflation (Finance)",
"Infusoria",
"Inheritance of acquired characters",
"Initials",
"Injustice",
"Inkstand",
"Inkstands",
"Inkwell",
"Inland Niger Delta Style",
"Inland navigation",
"Inlet",
"Inn",
"Inro",
"Insanity",
"Inscriptions",
"Inscriptions, Greek",
"Inscriptions, Mayan",
"Inscriptions, Sabean",
"Insect pests",
"Insect-plant relationships",
"Insecta (Sistematica",
"Insecticides",
"Insects",
"Insects as carriers of disease",
"Insects in art",
"Insects, Fossil",
"Insignia",
"Inspection",
"Inspector",
"Inspiration Point",
"Instinct",
"Institut de France",
"Institutional Furnishings",
"Instructional materials",
"Instrumentalists (Musicians)",
"Instruments",
"Insurance",
"Insurance agent",
"Insurance broker",
"Insurrectionist",
"Intaglios",
"Intellectual life",
"Intelligence Agent",
"Interior architecture",
"Interior decoration",
"Interior designer",
"Interior with Exterior View",
"International Postal Operations",
"International Stamps & Mail",
"International affairs",
"International cooperation",
"Interpretation of cultural and natural resources",
"Intoxicated",
"Introduced insects",
"Inuits",
"Invention and the Patent Model",
"Inventions",
"Inventories",
"Inventors",
"Invertebrate Zoology",
"Invertebrates",
"Invertebrates, Fossil",
"Invertébrés",
"Investment banker",
"Investor",
"Invoice",
"Io (Gasteropoda)",
"Iowa",
"Iowa State Capitol",
"Ipomoea quamoclit",
"Ipswich",
"Ipswich River",
"Iraq War, 2003-2011",
"Iridescence",
"Iris",
"Iris cristata",
"Iris missouriensis",
"Iris species",
"Iris verna",
"Iris versicolor",
"Irises (Plants)",
"Iron",
"Iron Clad Mine",
"Iron industry and trade",
"Ironing",
"Ironmaster",
"Ironwork",
"Iroquois art",
"Irritability",
"Irving",
"Ishanaten",
"Isis",
"Islamic architecture",
"Islamic art",
"Island animals",
"Island ecology",
"Islands",
"Isle of Man",
"Isles of Shoals",
"Isola Madre",
"Isolation",
"Isopoda",
"Isopoda z Antarctic regions",
"Ispoda",
"Istanbul",
"Italian dress",
"Italic",
"Italic type",
"Ivories",
"Ivory",
"Ivory baneberry",
"Ivory carving",
"Ivory nut palm",
"Ivory nuts",
"Ivy",
"Ixodes",
"Ixodidae",
"Izmit",
"Île corallienne",
"Jack in the pulpit",
"Jack-in-the-pulpit",
"Jackels",
"Jacket",
"Jackson",
"Jackson's Fall",
"Jacob's ladder",
"Jade",
"Jaguar",
"Jalapa",
"James Creek",
"James River Canal",
"Janaka",
"Jane",
"Janthinidae",
"January",
"Japanese Art",
"Japanese dress",
"Japanese literature",
"Japanese poetry",
"Japanese tea ceremony",
"Japanese tea masters",
"Japanese wit and humor, Pictorial",
"Japanning",
"Jardins",
"Jaws",
"Jazz",
"Jazz (Music)",
"Jefferson",
"Jefferson Canyon",
"Jefferson Park",
"Jefferson River",
"Jeffersonia diphylla",
"Jellyfishes",
"Jenkins",
"Jersey City",
"Jerusalem",
"Jessica",
"Jesuit poetry, Latin (Medieval and modern)",
"Jesus Christ",
"Jeweler",
"Jewelers' supplies",
"Jewelry",
"Jewelry making",
"Jewelry merchant",
"Jewelry, Ancient",
"Jewish scientists",
"Jews, Ethiopian",
"Jiehua",
"Jin dynasty (1115 - 1234)",
"Jingdezhen ware",
"Jittoku",
"Jizo Bosatsu",
"Joan",
"Jockey",
"Joe",
"John Bull (Steam locomotive)",
"John Bull (Symbolic character)",
"John P. V. Heinmuller Collection of Zeppelin Covers",
"John Ten Broeck",
"John the Baptist",
"Johnstons Creek",
"Johnstown",
"Joint Chiefs of Staff",
"Jonah",
"Joseon period (1392 - 1910)",
"Joseph",
"Journalism",
"Journalism and Media",
"Jōruri",
"Jubilee singers",
"Judaism",
"Judges",
"Judith",
"Juggler",
"Julienne",
"Julius Caesar",
"Jullien Geometric Models",
"Jumping",
"Juncaceae",
"Juncus",
"June",
"Jungermanniopsida",
"Juniperus horizontalis",
"Juniperus sibirica",
"Juno",
"Jupiter (Steam locomotive)",
"Jurist",
"Justice",
"Justice of the Peace",
"Juvenile and popular history",
"Juvenile literature",
"Ka?ma (Hindu deity)",
"Kaaterskill Creek",
"Kaikeyi",
"Kakemono",
"Kalasa",
"Kalmia angustifolia",
"Kalmia latifolia",
"Kalmia microphylla",
"Kalmia polifolia",
"Kalorama",
"Kamakura period (1185 - 1333)",
"Kanab Canyon",
"Kanab Wash",
"Kanawha River",
"Kanawha River Valley",
"Kandy period (1357 - 1817)",
"Kangaroo",
"Kangaroos",
"Kangxi reign (1662 - 1722)",
"Kannon",
"Kanzan",
"Kanze school",
"Karnak",
"Karyokinesis",
"Kasyapa",
"Kataka mudra",
"Kauterskill Fall",
"Kayak",
"Kayser's Pond",
"Kea",
"Kearsarge",
"Kel Ajjer",
"Kemble",
"Kentucky Derby",
"Keratinization",
"Kerchief",
"Kestert",
"Key",
"Key pattern",
"Keys (Hardware)",
"Khakkhara",
"Khayyam, Omar",
"Kidneys",
"Kilns",
"Kimono",
"Kimonos",
"Kineh",
"King",
"King Lear",
"King Street",
"King Ullin's Daughter",
"King and his Servants",
"King's College Chapel",
"Kings and rulers",
"Kings, queens, rulers, etc.",
"Kissing",
"Kitchen",
"Kitchen gardens",
"Kitchen utensil",
"Kitchen utensils",
"Kitchen-middens",
"Kites",
"Kites (Toys)",
"Klein Laufenberg",
"Knickerbocker's History of New York",
"Knife",
"Knife River",
"Knight",
"Knit goods",
"Knitting",
"Knitting machines",
"Knives",
"Ko school",
"Kofun (Tumulus) Period (250 - 552)",
"Kolonie",
"Kom Ombos",
"Kopffüßer",
"Korean Art",
"Kraunhia frutescens",
"Krindi",
"Krishna",
"Krishna Vishvarupa",
"Kruhsea",
"Kruhsea streptopoides",
"Ksitigarbha",
"Kubera",
"Kufic script",
"Kumbhakarna",
"Kundika",
"Kunst",
"Kusha",
"Kwa-ten",
"Kyōka",
"Kyōshi",
"LGBTQ",
"La Libertad",
"La Maison des Cariatides",
"La Union",
"Lab Coat",
"Labadists",
"Labor and laboring classes",
"Labor history",
"Labor leader",
"Labor movement",
"Labor unions",
"Laboratories",
"Laboratory",
"Laboratory Equipment",
"Labour unions",
"Labrador tea",
"Labyrinth (Ear)",
"Lac du Cygne",
"Lace and lace making",
"Lace bobbins",
"Lacerta",
"Lacerta agilis",
"Lacerta viridis",
"Lacertidae",
"Lacquer and lacquering",
"Lacrosse",
"Ladder",
"Ladder gentian",
"Ladders",
"Lady Macbeth",
"Ladybugs",
"Lafayette",
"Lago Maggiore",
"Lake Amatitlan",
"Lake Avernus",
"Lake Calhoun",
"Lake Champlain",
"Lake Chaplain",
"Lake Como",
"Lake Cuitzeo",
"Lake Fusaro",
"Lake Geneva",
"Lake Louise Arnica",
"Lake Lugano",
"Lake Maggiore",
"Lake Michigan",
"Lake Owasco",
"Lake Placid",
"Lake Saint Croix",
"Lake Titicaca",
"Lake animals",
"Lake sediments",
"Lakes",
"Lakes & ponds",
"Lakshmana",
"Lakshmi",
"Laliburte's Fur Parlor",
"Lama",
"Lamas",
"Lambkill",
"Lambs",
"Lamellibranchiata",
"Laminaria",
"Laminariaceae",
"Lampreys",
"Lampropeltis",
"Lamps",
"Lamps, Classical",
"Lan Na period (1251 - 1774)",
"Land Transportation",
"Land and property",
"Land developer",
"Land grants",
"Land speculator",
"Land tenure",
"Land transfers",
"Landini",
"Landowner",
"Landscape architect",
"Landscape architecture",
"Landscape gardening",
"Landscape painter",
"Landscape painting, English",
"Landscape painting, Japanese",
"Landscape, Rural",
"Landscape, Urban",
"Landscapes",
"Language and languages",
"Lansing",
"Lantern",
"Lantern slide",
"Laon",
"Laozi",
"Lapel pin",
"Lapidaries (Medieval literature)",
"Lappula diffusa",
"Lapwings",
"Large purple fringe-orchid",
"Large white trillium",
"Lariat",
"Larix lyallii",
"Larix occidentalis",
"Larnaca",
"Larsen Ceramics",
"Larvacea",
"Larvae",
"Larynx",
"Las Nubes",
"Last Days of Pompeii",
"Last Judgment",
"Last Race",
"Last Supper",
"Late Nara (Tempyo) period (710 - 794)",
"Late Neolithic period (ca. 5000 - ca. 1700 BCE)",
"Late Period (664 - 332 BCE)",
"Lathe",
"Lathrop",
"Lathyrus decaphyllus",
"Lathyrus ochroleucus",
"Latin jazz (Music)",
"Latinos and Baseball",
"Latona",
"Latticework",
"Laufenberg",
"Laufenburg",
"Laundry",
"Laundryman",
"Laurel",
"Laurel Leaves",
"Lausanne",
"Lava",
"Lavender",
"Law",
"Law and Law Enforcement",
"Law and legislation",
"Law reform",
"Law reformer",
"Lawyers",
"Laying of Transatlantic Cable",
"Lazarus",
"Laziness",
"Lazio",
"Le Puy",
"Le Puy Cathedral",
"Lead",
"Leadership",
"Leadville",
"Leafhoppers",
"Learned institutions and societies",
"Leather Jacket",
"Leather bindings (Bookbinding)",
"Leather flower",
"Leather jacket",
"Leatherwork",
"Leatherworker",
"Leaves",
"Lebanon",
"Lecanoromycetes",
"Lechuguilla",
"Lecturer",
"Lectures and lecturing",
"Ledum groenlandicum",
"Leeches",
"Leg",
"Legal Scholar",
"Legend of Sleepy Hollow",
"Legion of Honor",
"Legislative chamber",
"Legislator",
"Legislators",
"Legumes",
"Lehigh River",
"Leiophyllum lyoni",
"Lelant",
"Lemon",
"Lemon columbine",
"Lemuridae",
"Leo",
"Leotiomycetes",
"Lepadogaster",
"Lepargyrea canadensis",
"Lepidoptera",
"Lepismatidae",
"Leptarrhena pyrolifolia",
"Leptinotarsa",
"Leptochloa",
"Leptostraca",
"Lepus",
"Leroy",
"Letter carriers",
"Letter opener",
"Letter reading and writing",
"Letter writer",
"Letterer",
"Lettering",
"Letters",
"Leucosiidae",
"Lewes",
"Lewis and Clark Centennial Exposition, 1905",
"Lewis monkey flower",
"Lewisia redivivia",
"Lexicographer",
"Lexington",
"Lexington Avenue",
"Lexington, KY",
"Leycock Abbey",
"Lépidoptères",
"Li Tiegnai",
"Li style",
"Libellulidae",
"Liberty",
"Liberty Bell",
"Liberty Cap",
"Libra",
"Librarian",
"Libraries",
"Library administrator",
"Library catalogs",
"Librettist",
"Librettos",
"Licenzo",
"Lichens",
"Lichinomycetes",
"Liebenstein Castle",
"Liechtenstein",
"Liege",
"Lieutenant",
"Lieutenant Colonel",
"Lieutenant Governor",
"Life",
"Life (Biology)",
"Life mask",
"Life on other planets",
"Life preservers",
"Lifeguard",
"Lifesaving",
"Light",
"Light bulb",
"Light, Wave theory of",
"Lighthouse Beach",
"Lighthouses",
"Lighting",
"Lighting Devices",
"Lighting and water supply",
"Lighting fixture",
"Lightning",
"Ligia",
"Lilac",
"Lilac mariposa",
"Lilies",
"Lilies-of-the-valley",
"Lilium canadense",
"Lilium columbianum",
"Lilium montanum",
"Lilium parvum",
"Lilium philadelphicum",
"Lilium washingtonianum",
"Lille",
"Lily",
"Lily ponds",
"Lily twayblade",
"Lima",
"Limache",
"Limacidae",
"Limber pine",
"Limehouse",
"Limicolae",
"Limnology",
"Limnædiæ",
"Limodorum turberosum",
"Limon Bay",
"Limpets",
"Limulus",
"Limulus polyphemus",
"Lincoln Memorial (Washington, D.C.)",
"Lincoln Street",
"Lincoln, Abraham",
"Lincoln, NE",
"Linden tree",
"Linens",
"Linguists",
"Lingulata",
"Linnaea borealis americana",
"Linum lewisii",
"Lion hunting",
"Lipari Islands",
"Liparis liliifolia",
"Lippincott's Magazine",
"Liquor industry",
"Liriodendron tulipifera",
"Liriope (Cnidaria)",
"Lisieux",
"Litchi",
"Literary critic",
"Literature",
"Lithocharis",
"Lithocolletis",
"Lithographer",
"Lithography",
"Lithospermum canescens",
"Lithospermum ruderale",
"Lithothamnium",
"Little Bighorn, Battle of the, Mont., 1876",
"Little Colorado River",
"Little Knob",
"Little Miss Muffet",
"Littorina",
"Littorinidae",
"Liturgical objects",
"Liu Hai",
"Liu Song dynasty (420 - 479)",
"Liver flukes",
"Liverpool",
"Liverworts",
"Livestock",
"Living Collections",
"Living room",
"Lizards",
"Llanrwst",
"Lloyd's strawberry cactus",
"Loader",
"Lobbyist",
"Lobelia cardinalis",
"Lobelia kalmii",
"Loblolly pine",
"Lobster",
"Lobster fisheries",
"Lobsters",
"Loch Long",
"Locks and keys",
"Locksmith",
"Locusts",
"Lodgepole pine",
"Log cabin",
"Logan Springs",
"Logarithms",
"Logic",
"Loincloth",
"Loing River",
"Lombardy",
"Lombricidae",
"London Stock Exchange",
"Lone Star Geyser Cone",
"Long Branch",
"Long Branch Beach",
"Long Island",
"Long's Peak",
"Longevity",
"Longing",
"Longleaf pine",
"Lonicera glaucescens",
"Lonicera involucrata",
"Loom",
"Looms",
"Loon",
"Lorenzo",
"Lorgnettes",
"Loricariidae",
"Lories",
"Lost Lake",
"Lost tribes of Israel",
"Lotos",
"Lottia gigantea Gray",
"Lotus",
"Lotus Sutra",
"Lotus puberulus",
"Louis XIV style",
"Louis XVI",
"Louisiana Purchase",
"Louvre",
"Love",
"Love songs",
"Lovers",
"Low whortleberry",
"Lower Niger Bronze Industry",
"Lowry",
"Loyalist",
"Lu Dongbin",
"Lucanidae",
"Lucretilis Mountains",
"Luggage",
"Lullabies",
"Lullabies, English",
"Lumber",
"Luminescence",
"Luna (Roman deity)",
"Lunar geology",
"Lungs",
"Luohan",
"Lupine",
"Lupinis arboreus",
"Lupinus argenteus",
"Lupinus fornosus",
"Lupinus perennis",
"Lurlei",
"Lustre",
"Lustreware",
"Lute",
"Lutheran Church",
"Luxembourg Gardens",
"Luxor",
"Lyall larch",
"Lycaenidae",
"Lychnis apetala",
"Lycidae",
"Lycinae",
"Lycodes",
"Lygaeidae",
"Lygodesmia grandiflora",
"Lygodesmia juncea",
"Lygodium Icandeus",
"Lymnaea",
"Lymnaeidae",
"Lynching",
"Lyre",
"Lyres",
"Lyricist",
"Lysianassidae",
"Lysimachia",
"MENOMINEES",
"Ma Gu",
"Macaroni penguin",
"Macbeth",
"Macedonia",
"Machine design",
"Machine sewing",
"Machine-tools",
"Machinery",
"Machinery industry",
"Machinery, Kinematics of",
"Machinist",
"Machinists",
"Mackerel fisheries",
"Mackinaw",
"Macramé",
"Macrouridae",
"Madeleine",
"Madhavi",
"Madison",
"Madison County Movement",
"Madison Square",
"Maenad",
"Magazine article",
"Magazine editor",
"Magazine publisher",
"Magdeburg experiments",
"Magenta (Corvette)",
"Magi",
"Magic",
"Magic tricks",
"Magician",
"Magistrate",
"Magnetic declination",
"Magnetic fields",
"Magnetic materials",
"Magnetic pole",
"Magnetism",
"Magnets",
"Magnifying glass",
"Magnolia",
"Magnolia acuminata",
"Magnolia cordata",
"Magnolia grandiflora",
"Magnolia scuminata",
"Magnolia tree",
"Magnolia tripetala",
"Magnolia virginiana",
"Magnoliopsida",
"Magpie",
"Mahabharata",
"Mahakala",
"Mahasthamaprapta",
"Mahayana Buddhism",
"Mahogany",
"Mahout",
"Mail Processing",
"Mail steamers",
"Mail wagons",
"Main Street",
"Maitreya Buddha",
"Majnun",
"Majolica, Italian",
"Major General",
"Major general",
"Majority Leader",
"Makah Indians",
"Makeup",
"Makimono",
"Malacologist",
"Malacologists",
"Malacostraca",
"Malacostraca, Fossil",
"Malaxis unifolia",
"Maldanidae",
"Male and child",
"Male and female",
"Male use",
"Mallet",
"Mallophaga",
"Malmesbury",
"Malpighiaceae",
"Malt",
"Malt liquors",
"Malt-extracts",
"Malta",
"Maltese crosses",
"Malus coronaria",
"Mamíferos",
"Mamluk period (1250 - 1517)",
"Mammalogists",
"Mammalogy",
"Mammals",
"Mammals, Fossil",
"Mammifères",
"Mammologists",
"Mammoths",
"Man, Origin of",
"Man-woman relationships",
"Management",
"Manatees",
"Mandara (Buddhism)",
"Mandorla",
"Manet, Edouard",
"Manhood",
"Manitou",
"Manjushri",
"Manners and customs",
"Manners and customs in art",
"Mansfield",
"Mansion House",
"Mantel",
"Mantels",
"Manual training",
"Manuals",
"Manufacture and refining",
"Manufacturer",
"Manufactures",
"Manufacturing industries",
"Manures",
"Manuscript design",
"Manuscripts",
"Manuscripts, Amharic",
"Manuscripts, Ethiopic",
"Manuscripts, Greek",
"Manuscripts, Illinois",
"Manuscripts, Maya",
"Manuscripts, Mexican",
"Manuscripts, Montagnais",
"Manuscripts, Nahuatl",
"Manuscripts, Spanish",
"Manuscripts, Spanish American",
"Manuscripts, Tlaxcalan",
"Maple",
"Maple tree",
"Marble industry and trade",
"Marblehead",
"Marbles",
"Marbling",
"March for Our Lives",
"March on Washington for Jobs and Freedom",
"Marches",
"Marches (Instrumental ensemble)",
"Marches (Piano)",
"Marches (Voice with piano)",
"Marches (Voice with piano), Arranged",
"Marching bands (Music)",
"Marchioness",
"Marconi system",
"Marginellidae",
"Maria Ten Broeck",
"Marine Biology",
"Marine Corps",
"Marine algae",
"Marine aquariums",
"Marine aquariums, Public",
"Marine borers",
"Marine ecology",
"Marine engineer",
"Marine fishes",
"Marine invertebrates",
"Marine laboratories",
"Marine meteorology",
"Marine organisms",
"Marine painter",
"Marine painting",
"Marine plankton",
"Marine plants",
"Marine resources",
"Marine sciences",
"Marine sediments",
"Mariposa County",
"Mariposa Grove",
"Maritime law",
"Market",
"Market Street",
"Marks",
"Marksburg Castle",
"Marksman",
"Marl",
"Marmelito",
"Marne, 1st Battle of the, France, 1914",
"Marquis",
"Marquise",
"Marqués",
"Marriage",
"Marriage of the King's Son",
"Marseilles",
"Marshall Pass",
"Marshes",
"Marshmarigold",
"Marsupialia",
"Marsupials",
"Marsupials, Fossil",
"Marsyas",
"Martha",
"Martha's Vineyard",
"Martin Chuzzlewit",
"Martyr",
"Mary, Blessed Virgin, Saint",
"Maryland Heights",
"Masculine names",
"Masks",
"Masks (Sculpture)",
"Mason bees",
"Masonic",
"Masonic dress",
"Masonic symbols",
"Masquerade",
"Mass media",
"Massapponax Bridge",
"Masson",
"Mastodons",
"Materia medica",
"Materia medica, Vegetable",
"Materialism",
"Materials and instruments",
"Math symbols",
"Mathematical Association of America Objects",
"Mathematical Charts and Tables",
"Mathematical geography",
"Mathematical instruments",
"Mathematical statistics",
"Mathematician",
"Mathematicians",
"Mathematics",
"Mathematics, Greek",
"Matilija poppy",
"Maulstick",
"Mausoleum",
"Maxillopoda",
"May Day",
"May McWilliams",
"May cherry",
"Mayapple",
"Mayflies",
"Mayflower",
"Mayors",
"Maypop",
"Mazatenango",
"Mazatlan",
"McLean House",
"Mdewakanton Dakota",
"Meade",
"Meadow",
"Meadow beauty",
"Meadow fleabane",
"Meadowbrook Parsonage",
"Meal",
"Measuring device",
"Meat",
"Meat packer",
"Mechanical engineer",
"Mechanical engineering",
"Mechanics",
"Mechanics, Analytic",
"Mechanotherapy",
"Medal",
"Medal of Honor",
"Medalist",
"Medallion",
"Medals",
"Medical Scientist",
"Medical artist",
"Medical geography",
"Medical instruments and apparatus",
"Medical parasitology",
"Medical personnel",
"Medicine",
"Medicine Ceremony",
"Medicine Lodge Creek",
"Medicine and Health",
"Medicine man",
"Medicine, Ancient",
"Medicine, Arab",
"Medicine, Greek and Roman",
"Medicine, Medieval",
"Medicine, Military",
"Medicine, Popular",
"Medieval dress",
"Meditation",
"Mediterranean Sea",
"Medulla oblongata",
"Medusa",
"Meeting Street",
"Megalobatrachus maximus Schlegel",
"Megatherium",
"Meghoppen",
"Meiji era (1868 - 1912)",
"Meissen porcelain",
"Melanatria",
"Melancholy",
"Melanoplus",
"Meloidae",
"Melon",
"Melos",
"Melville Bay",
"Membracidae",
"Memoirist",
"Memorials",
"Memory",
"Men",
"Menageries",
"Mendel's law",
"Menidia",
"Mensuration",
"Mental health",
"Mentzelia laevicaulis",
"Menu",
"Menus",
"Menyanthes trifoliata",
"Menzies penstemon",
"Menziesia",
"Menziesia glabella",
"Merced River",
"Mercedes",
"Mercenaria",
"Merchant of Venice",
"Merchants",
"Merchants' Exchange",
"Mercury (Planet)",
"Meridians (Geodesy)",
"Mermaid",
"Merostomata",
"Merrimac",
"Merry Wives of Windsor",
"Merry-go-rounds",
"Mertensia paniculata",
"Mertensia virginica",
"Mesilla",
"Mesoderm",
"Mesogastropoda",
"Mesoplodon",
"Messenger",
"Messengers",
"Messina",
"Metabolism",
"Metal catalysts",
"Metal-work",
"Metalworker",
"Metalworking",
"Metamorphosis",
"Metamorphosis of insects",
"Metaphysics",
"Meteorites",
"Meteorological instruments",
"Meteorologist",
"Meteorology",
"Meteors",
"Meterology",
"Methodist Church",
"Methodology",
"Metric system",
"Meudon",
"Mevagissey",
"Mexican War, 1846-1848",
"Mexican fremontia",
"Mexican poppy",
"Mexico City",
"Mezzotint engraving",
"Mezzotint engraving, British",
"Mice",
"Michigan Avenue",
"Mickey Mouse (Fictitious character)",
"Micmac (Indiens)",
"Microbiologist",
"Microbiology",
"Microchemistry",
"Microorganisms",
"Microphone",
"Microscopes",
"Midas",
"Middle Passage",
"Middle ear",
"Midsummer Night's Dream",
"Midwifery",
"Migrations",
"Miles City",
"Military",
"Military & Policing Forces",
"Military Camp",
"Military Schools",
"Military and Intelligence",
"Military bands",
"Military campaigns",
"Military camps",
"Military decorations",
"Military engineer",
"Military engineering",
"Military officers",
"Military operations, Aerial",
"Military operations, Naval",
"Military parades & ceremonies",
"Military training camps",
"Military vehicle",
"Militiaman",
"Milkweed",
"Mill",
"Millers",
"Millet",
"Milling",
"Millipedes",
"Mills and mill-work",
"Milton",
"Milwaukee",
"Mime",
"Mimicry (Biology)",
"Mimulus bigelovii",
"Mimulus caespitosus",
"Mimulus cardinalis",
"Mimulus lewisii",
"Mimulus moschatus",
"Mine",
"Miner's candle",
"Mineral",
"Mineral industries",
"Mineral spring",
"Mineralogical museums",
"Mineralogist",
"Mineralogists",
"Mineralogy",
"Mineralogy, Determinative",
"Minerals",
"Minerals in pharmacology",
"Minerva",
"Mines (Military explosives)",
"Mines and mineral resources",
"Ming dynasty (1368 - 1644)",
"Ming-Qing dynasties",
"Miniatures (paintings)",
"Miniaturist",
"Minieh",
"Mining",
"Mining Lamps",
"Mining engineer",
"Minister",
"Minneapolis",
"Minnesota State Capitol",
"Minority Leader",
"Minstrel",
"Minstrel (Music)",
"Minstrel music",
"Minute Man",
"Miracle",
"Miranda",
"Miridae",
"Miroku Bosatsu",
"Mirror Lake",
"Mirrors",
"Mishō school",
"Mispec",
"Missie",
"Missiologie",
"Missionaries",
"Missionaries, Medical",
"Missionary",
"Missions to Blacks & Africa, Southern",
"Missions to Jews",
"Mississippi Freedom Summer",
"Mississippi River",
"Missouri River",
"Mistmaiden",
"Mistress",
"Mistress of the Parsonage",
"Mitchella repens",
"Mitella nuda",
"Miter",
"Mites",
"Mitosis",
"Mitridae",
"Mobcap",
"Moccasin flower",
"Moccasins",
"Model ship",
"Models (Clay, plaster, etc.)",
"Models (representations)",
"Modern dance",
"Modern period (1910 - present)",
"Modern period (1912 - present)",
"Moehringia laberiflora",
"Moel Siabod",
"Moeurs et coutumes",
"Mojave Desert",
"Mold blown",
"Mole crickets",
"Moles (Animals)",
"Molidae",
"Mollusca (Sistematica)",
"Mollusks",
"Mollusks, Fossil",
"Momoyama period (1573 - 1615)",
"Monadnock",
"Monarda punctata",
"Monastery",
"Moneses uniflora",
"Monetary",
"Money",
"Monhegan Island",
"Monique",
"Monitor",
"Monju",
"Monk",
"Monkeys",
"Monmouth, Battle of, Freehold, N.J., 1778",
"Monocle",
"Monocotyledonae",
"Monocotyledons",
"Monogenea",
"Monogenism and polygenism",
"Monograms",
"Monomonie",
"Monoplacophora",
"Monoplanes",
"Monothalamea",
"Monotremes",
"Monotropa uniflora",
"Monreale",
"Monroe Street",
"Monselice",
"Monsters",
"Monsters in art",
"Mont Saint Michel",
"Mont St. Michel",
"Montana parnassia",
"Montauk Point",
"Monte Rosa",
"Monterey",
"Montgomery",
"Montgomery Street",
"Monticello",
"Montigny",
"Montmorency Falls",
"Montreuil",
"Monument Park",
"Monuments",
"Mood (Psychology)",
"Moody",
"Moon",
"Moon bridge",
"Moon hoax",
"Moonlight",
"Moor animals",
"Moor ecology",
"Moorish",
"Moorish dress",
"Moose",
"Moraeas",
"Moral Re-Armament (MRA)",
"Morale",
"Morality & Religious Prints",
"Mordvins",
"Moret",
"Mormonism",
"Mormyridae",
"Mormyrus",
"Morning",
"Morning glory",
"Morning-glory",
"Morphology",
"Morphology (Animals)",
"Morris Island",
"Morristown",
"Mortality",
"Mosaics",
"Moscow",
"Mosel River",
"Moses (Biblical leader)",
"Mosques",
"Mosquitoes as carriers of disease",
"Moss campion",
"Moss forget-me-not",
"Moss gentian",
"Moss pink",
"Mosses",
"Mother Goose",
"Mother and child",
"Mother of US President",
"Mother of pearl",
"Mother-of-pearl",
"Motherhood",
"Mothers",
"Moths in art",
"Motion picture theaters",
"Motion pictures",
"Motion study",
"Motor vehicle industry",
"Motorboat",
"Motorboats",
"Motorcycles",
"Motorcyclists",
"Motors",
"Motorsports",
"Motown (Music)",
"Mounds",
"Mount Ancon",
"Mount Bounaveau",
"Mount Chocorua",
"Mount Cotopaxi",
"Mount Emei",
"Mount Etna",
"Mount Fuji",
"Mount Hamilton",
"Mount Hood",
"Mount Horeb",
"Mount McIntyre",
"Mount Meru",
"Mount Monadnock",
"Mount Oliveto",
"Mount Olympus",
"Mount Orizaba",
"Mount Pellegrino",
"Mount Pico",
"Mount Pilatus",
"Mount Sinai",
"Mount Tabor",
"Mount Tom",
"Mount Vernon",
"Mount Vernon Street",
"Mount Vesuvius",
"Mount Washington",
"Mountain ash tree",
"Mountain cranberry",
"Mountain goat",
"Mountain goldenrod",
"Mountain hemlock",
"Mountain juniper",
"Mountain ladyslipper",
"Mountain laurel",
"Mountain rose-bay",
"Mountain sheep",
"Mountains",
"Mounting of microscope specimens",
"Mourning",
"Mourning groundsel",
"Mourning jewelry",
"Mouse",
"Movie set",
"Moxa",
"Mozart",
"Mpororo",
"Mrs. Otcheson",
"Mudfish",
"Mudra",
"Muff",
"Muffler",
"Muffs",
"Mug",
"Mughal dynasty (1526 - 1858)",
"Mugshot",
"Muhammad",
"Mule",
"Mullah",
"Mullion Cove",
"Multilingual communication",
"Municipal Government",
"Municipal ownership",
"Municipal reformer",
"Municipal water supply",
"Mural painting and decoration",
"Mural painting and decoration, Baroque",
"Mural painting and decoration, Greco-Roman",
"Mural painting and decoration, Italian",
"Mural study",
"Muralist",
"Murder",
"Murderer",
"Muricidae",
"Muridae",
"Muromachi period (1333 - 1573)",
"Muscari racemosum",
"Muscidae",
"Muscles",
"Muses (Greek deities)",
"Museum attendance",
"Museum buildings",
"Museum conservation methods",
"Museum founder",
"Museum trustees",
"Museums",
"Mushroom",
"Mushroom culture",
"Mushrooms",
"Music",
"Music critic",
"Music festivals",
"Music printing",
"Music room",
"Musical Theatre",
"Musical films",
"Musical instruments",
"Musical instruments, Prehistoric",
"Musical note",
"Musicians",
"Musidora",
"Musique",
"Musk-flower",
"Muskox",
"Muskrat",
"Musophagidae",
"Musquakee",
"Mussel",
"Mussel fisheries",
"Musselburgh Bridge",
"Mussels",
"Mustaches",
"Mutilation",
"Mutillidae",
"Mutineer",
"Muttonchops",
"Muybridge",
"Mycetophilidae",
"Mycologie",
"Mycorrhizas",
"Myiasis",
"Mynah bird",
"Myosotis alpestris",
"Myriapoda",
"Myrionemataceae",
"Myron Bement Smith collection",
"Mysidacea",
"Mysidae",
"Mystic",
"Mythical",
"Mythological animal",
"Mythological subject",
"Mythology",
"Mythology, Classical",
"Mythology, Classical, in art",
"Mythology, Greek",
"Mythology, Maasai",
"Mythology, Maori",
"Mythology, West African",
"Mytilus",
"Myxinidae",
"Myxomycetes",
"Myxosporidia",
"NC-4 (Seaplane)",
"NMAH Reception Suite",
"Nabalus albus",
"Nahant",
"Nahuatl literature",
"Naiad springbeauty",
"Naididae",
"Najadaceae",
"Nakula",
"Nala Damayanti",
"Names",
"Nanbokucho period (1333 - 1392)",
"Nancy",
"Nantes",
"Nantucket",
"Naples",
"Napoleon",
"Napoleonic Wars",
"Napoleonic dress",
"Nara period (645 - 794)",
"Narcissus",
"Narragansett Pier",
"Nassidae",
"Natchez, MS",
"Naticidae",
"National Guard",
"National Park Service",
"National Stamp Collection",
"National Symbols",
"National Treasures exhibit",
"National emblems",
"National parks and reserves",
"Native American advisor",
"Native American cultural intermediary",
"Native American diplomat",
"Native American interpreter",
"Native American leader",
"Native American orator",
"Native American scout",
"Native American warrior",
"Nativism",
"Nativity",
"Natural History",
"Natural Resource Occupations",
"Natural arch",
"Natural areas",
"Natural disasters",
"Natural gas",
"Natural history illustrators",
"Natural history museums",
"Natural products",
"Natural theology",
"Naturalists",
"Nature",
"Nature (Aesthetics)",
"Nature (Esthetics)",
"Nature conservation",
"Nature in art",
"Nature in the Bible",
"Nature photography",
"Nature prints",
"Nature stories",
"Nature study",
"Nature writer",
"Naushon Island",
"Nautical almanacs",
"Nautical astronomy",
"Nautical instruments",
"Nautilida",
"Nautilidae",
"Nautiloidea",
"Nautiloidea, Fossil",
"Navaho country",
"Naval History",
"Naval architect",
"Naval architecture",
"Naval art and science",
"Naval aviator",
"Naval clerk",
"Naval militia",
"Naval operations",
"Naval prints",
"Naval seaman",
"Naval warfare",
"Navarro Ridge",
"Navesink",
"Navesink River",
"Navies",
"Navigation",
"Navigator",
"Navy Cross",
"Navy chaplain",
"Nawab",
"Naxos",
"Nayon",
"Nazareth",
"Nebulae",
"Necklace",
"Neckties",
"Nectarine",
"Necturus",
"Needlepoint lace",
"Needlework industry and trade",
"Nelson",
"Nelson's Column",
"Nematoda",
"Nematodes",
"Nemertea",
"Nemes, Geographical",
"Neoclassicism",
"Neoclassicism (Architecture)",
"Neogastropoda",
"Neolithic period (ca. 7000 - ca. 1700 BCE)",
"Neptune (Planet)",
"Neritidae",
"Neritidae, Fossil",
"Nervous system",
"Neshaminy Creek",
"Nest building",
"Nests",
"Nets",
"Netting",
"Neuroanatomy",
"Neuroptera",
"Neuroptera, Fossil",
"Nevada County",
"Nevada Falls",
"Nevers",
"Nevin",
"New Acquisitions",
"New Boston",
"New Deal, 1933-1939",
"New Haven",
"New Haven, CT",
"New Kingdom (ca. 1539 - 1075 BCE)",
"New London",
"New Mexican locust",
"New Mexico Territory",
"New Orleans, LA",
"New World",
"New World monkeys",
"New Year's Day",
"New Years",
"New York Bay",
"New York City Hall",
"New York Harbor",
"New York Post Office",
"New York Public Library",
"New York, NY",
"New year",
"Newark, NJ",
"Newburgh",
"Newspaper editor",
"Newspaper publisher",
"Newspaper seller",
"Newspapers",
"Newsroom",
"Nez Percé language",
"Nez Percés",
"Niagara Falls",
"Niagara Movement 1905-1909",
"Nice",
"Nicea",
"Nichiren Buddhism",
"Nicodemus",
"Nicotiana",
"Niederheimbach",
"Night",
"Night-blooming cereus",
"Nightclub",
"Nightclubs",
"Nightlife",
"Nike)",
"Nikko",
"Nile River",
"Nilson, Johann Esaias",
"Nimes",
"Nineteenth century dress",
"Nirwana",
"Nishnabottana Bluffs",
"Nitrogen",
"Nitroglycerin",
"Noah",
"Noah's Ark",
"Noah's ark",
"Nobel Prize",
"Nobel Prizes",
"Nobility",
"Nobody, Mr. (Fictitious character)",
"Noctuidae",
"Nocturne",
"Nodding campion",
"Nodding ladies tresses",
"Nodding onion",
"Nodosariata",
"Noh",
"Nomenclature",
"Nomoli Style",
"Non-representational",
"Nonquitt",
"Noon",
"Nordic",
"Norfolk, VA",
"North Church",
"North Conway",
"Northern Qi dynasty (550 - 577)",
"Northern Song dynasty (960 - 1127)",
"Northern Wei dynasty (386 - 534)",
"Northern Zhou dynasty (557 - 581)",
"Northern anemone",
"Northern bedstraw",
"Northern butterbur",
"Northern butterwort",
"Northern dynasties (386 - 581)",
"Northern hedysarum",
"Northern ladyslipper",
"Northern onion",
"Northern right whale",
"Northfork Creek",
"Norton St. Philip",
"Norwich",
"Norwich Harbor",
"Norwich, CT",
"Nose ring",
"Notes",
"Notharctus",
"Notodontidae",
"Notostraca",
"Notre Dame",
"Notre Dame de Paris",
"Novelists",
"Novelties",
"Novelty balloons",
"Novelty songs",
"Noyau cellulaire",
"Nozzles",
"Nō",
"Nō in art",
"Nubble Lighthouse",
"Nubien",
"Nuculidae",
"Nuculoida",
"Nuculoida, Fossil",
"Nuda",
"Nudibranchia",
"Nudity",
"Number theory",
"Numerology",
"Numismatics",
"Nummulitidae, Fossil",
"Nuremburg",
"Nursemaid",
"Nursery",
"Nursery rhymes",
"Nursing",
"Nut",
"Nutmeg (Spice)",
"Nutmeg tree",
"Nutrition",
"Nuyorican Movement",
"Nymph",
"Nymph and Bittern",
"Nymphula oryzalis",
"O Kee Pa Ceremony",
"O.T",
"OSS",
"Oak",
"Oak Cliff",
"Oak tree",
"Oakland, CA",
"Oar",
"Oath",
"Oats",
"Oaxaca",
"Obedience",
"Obelisk",
"Obelisks",
"Oberammergau",
"Oberwesel",
"Observations",
"Obsidian",
"Obstetrician",
"Occultism",
"Occupations",
"Ocean",
"Ocean bottom",
"Ocean liner",
"Oceanographer",
"Oceanographic instruments",
"Oceans",
"Oconee-bells",
"Ocotillo",
"Octopoda",
"Octopodes",
"Octopuses",
"Ocypodidae",
"Odd Fellows",
"Odd Fellowship",
"Odeon",
"Odonata",
"Odontornithes",
"Odyssey",
"Oedogoniaceae",
"Oegopsida",
"Oenothera",
"Oenothera howardi",
"Oenothera lavandalaefolia",
"Oestridae",
"Office",
"Office Machines",
"Office building",
"Office equipment and supplies",
"Officer",
"Ohio River",
"Oiseaux",
"Ojibwa children",
"Okame",
"Okinokans",
"Old Black Joe",
"Old Book List",
"Old Executive Office Building",
"Old Fort Herkimer Church",
"Old Lyme",
"Old age",
"Older people",
"Oligochaeta",
"Oliva",
"Olive",
"Olive branch",
"Olive tree",
"Olympic Medal",
"Olympic medal",
"Olympics",
"Omote Senke school",
"On postage stamps",
"On the Water exhibit",
"One-leaf-bog-orchid",
"Onion",
"Oniscidae",
"Onteora",
"Ontogeny",
"Onychophora",
"Opalescent River",
"Opalinida",
"Opera",
"Opera (Music)",
"Opera patron",
"Operas",
"Operational readiness",
"Operational readiness (Military science)",
"Ophelia",
"Ophiuchus",
"Ophiurida",
"Ophiuridae",
"Ophiuroidea",
"Ophrys necrophylla",
"Opiliones",
"Opisthobranchia",
"Opisthobranchia, Fossil",
"Optical Devices",
"Optical instruments",
"Optics",
"Optimism",
"Opuntia imbricata",
"Oral Surgeon",
"Orange",
"Orange polygala",
"Orange-eye globemallow",
"Oranges",
"Orangutans",
"Orator",
"Oratory",
"Orb",
"Orbits",
"Orchard",
"Orchestra",
"Orchestral (Music)",
"Orchideeën",
"Orchids",
"Orchids in art",
"Orchis",
"Orchis rotundifolia",
"Orchis spectabilis",
"Ordens Menores)",
"Orders",
"Ordnance",
"Ordnance, Rapid-fire",
"Orejon",
"Oreocarya virgata",
"Organ",
"Organ grinder",
"Organ music",
"Organic compounds",
"Organized crime leader",
"Oriana",
"Orientation",
"Origin",
"Orion",
"Oriskany",
"Orizaba",
"Orleans Territory",
"Ornamental birds",
"Ornamental combs",
"Ornamental fishes",
"Ornamental hairwork",
"Ornamental horticulture",
"Ornamental shrubs",
"Ornamental trees",
"Ornamentation",
"Ornithological illustration",
"Ornithologist",
"Orobanche fasciculata",
"Orontium aquaticum",
"Orphan",
"Orthalicidae",
"Orthocarpus erianthus",
"Orthocarpus tenuifolius",
"Orthography and spelling",
"Orthoptera",
"Oscar",
"Osiris",
"Osprey",
"Osteichthyes",
"Ostracoda",
"Ostracoda, Fossil",
"Ostreidae",
"Ostrich farming",
"Ostrich farms",
"Ostriches",
"Oswego, NY",
"Othello",
"Otters",
"Ottoman",
"Ottoman period (1307 - 1922)",
"Ouchy",
"Outdoor life",
"Outdoor recreation",
"Outdoor sculpture",
"Outer space",
"Outerwear",
"Outlaw",
"Outrigger canoes",
"Ouvrages illustrées",
"Ovaries",
"Overcoat",
"Overland journeys to the Pacific",
"Owl",
"Owl's clover",
"Owlflies",
"Owls",
"Ownership",
"Oxalidaceae",
"Oxalis",
"Oxen",
"Oxford",
"Oxycoccus palustris",
"Oxygen",
"Oxyrhycha",
"Oxystomata",
"Oxytropia gracilis",
"Oxytropis aepicola",
"Oxytropis podocarpa",
"Oxytropis splendens",
"Oya Jizo",
"Oyster culture",
"Oyster fisheries",
"Oyster hatcheries",
"Oysters",
"Oysters, Fossil",
"Pachyderms",
"Pachyloplus hirsutus",
"Pachyloplus marginatus",
"Pacific dogwood",
"Pacific herring",
"Pacific railroads",
"Pacific railroads.",
"Pacifist",
"Paddestoelen",
"Paddle steamers",
"Paestum",
"Paganism",
"Pageants",
"Pagoda",
"Pails",
"Paine",
"Paint jar",
"Paintbrush",
"Painted",
"Painted trillium",
"Painters",
"Painters, American",
"Painting",
"Painting, British",
"Painting, Byzantine",
"Painting, Chinese",
"Painting, European",
"Painting, French",
"Painting, German",
"Painting, Industrial",
"Painting, Italian",
"Painting, Japanese",
"Paiute baskets",
"Pala-Sena dynasty (750 - 1100)",
"Palace",
"Palace of Justice",
"Palace of Nero",
"Palace of Popes",
"Palaeacanthocephala",
"Palaemon",
"Palaemonidae",
"Palanquin",
"Palatine Hill",
"Palazzo Vecchio",
"Paläobiologie",
"Pale ladyslipper",
"Pale pinesap",
"Pale strawberry",
"Paleobiogeography",
"Paleobotanists",
"Paleobotany",
"Paleogeneral",
"Paleogeography",
"Paleography",
"Paleontologist",
"Paleontologists",
"Paleontology",
"Paleoontology",
"Paleozic",
"Palette",
"Paléontologie",
"Paléozoologie",
"Palimpsests",
"Palin",
"Pallavicinia",
"Palm",
"Palm tree",
"Palmistry",
"Palms",
"Pamela",
"Pamphagodes",
"Pamphlet",
"Pan (Greek deity)",
"Pan Africanism",
"Panagachel Valley",
"Panama City",
"Pancreas",
"Pangolins",
"Panicum",
"Panorama",
"Panoramas",
"Pansy",
"Pansy violet",
"Pantheon",
"Panther",
"Pantographs",
"Pantomimes with music",
"Papaw",
"Paper",
"Paper industry",
"Paper work",
"Papermaking",
"Papers",
"Papilionidae",
"Papillons",
"Parachutes",
"Parachuting",
"Parade",
"Parades",
"Paradise Valley",
"Parallel Rules",
"Parallels (Geometry)",
"Parasites",
"Parasitic plants",
"Parasitism",
"Parasitologist",
"Parasol",
"Parasols",
"Parenthood",
"Parinirvana",
"Park Row",
"Parka",
"Parkhurst, Micajah, Mrs.",
"Parks",
"Parks (National), United States: Zion",
"Parks, public",
"Parliament",
"Parliamentarian",
"Parnassia fimbriata",
"Parnassia montanesis",
"Parnassians",
"Parodies, French",
"Paros",
"Parrot",
"Parrot pitcherplant",
"Parrots",
"Parry's penstemon",
"Parsley",
"Parterre d'Eau",
"Parthenogenesis in animals",
"Parthenon",
"Participation, German",
"Partridge",
"Partridgeberry",
"Partridges",
"Partula",
"Parvati",
"Pasadena",
"Passaic",
"Passaic Meadows",
"Passalidae",
"Passementerie",
"Passenger pigeon",
"Passenger trains",
"Passengers",
"Passeriformes",
"Passeroma cyanea",
"Passiflora incarnata",
"Passing Song",
"Passion",
"Past",
"Paste (glass)",
"Pastelist",
"Pastor",
"Pastry",
"Patching",
"Patent Model School Seats and Desks",
"Patent Models, Graphic Arts",
"Patent Models, Sewing Machines",
"Patent Models, Textile Machinery",
"Patent Office Building",
"Patent Officer",
"Patent model",
"Patents",
"Path",
"Pathologist",
"Pathology",
"Patio",
"Patmos",
"Patriotic music",
"Patriotism",
"Patron of the arts",
"Pattern design",
"Patterns",
"Paul",
"Paussus",
"Pavements, Mosaic",
"Pavia",
"Pavilion",
"Pea",
"Peace",
"Peace Jubilee",
"Peace activist",
"Peace medal",
"Peace pipe",
"Peace sign",
"Peace signs",
"Peach",
"Peach tree",
"Peach-yellows",
"Peacham",
"Peacock",
"Peacocks",
"Pear",
"Pear tree",
"Pearl",
"Pearl Street",
"Pearl button industry",
"Pearl everlasting",
"Pearl fisheries",
"Pearls",
"Pears",
"Peasant",
"Peatpink",
"Peddler",
"Peddling",
"Pedestal",
"Pedestals",
"Pediatrist",
"Pedicularis bracteosa",
"Pedicularis contorta",
"Pedicularis groenlandica",
"Pedicularis raremosa",
"Pediment",
"Pee Dee River",
"Peel",
"Peepshows - History",
"Pegasus",
"Peggy",
"Pelagic fishes",
"Pelican",
"Pelt",
"Peltaspermopsida",
"Peltogaster",
"Pelvic bones",
"Pelvis",
"Pelycosauria",
"Penaeus",
"Pencil",
"Pencil industry",
"Pendant",
"Pendulum",
"Penglai",
"Penguins",
"Penmanship",
"Pennant",
"Pennsylvania Academy of Fine Arts",
"Pennsylvania Avenue",
"Pennsylvania Avenue N.W.",
"Pennsylvania Railroad",
"Penologist",
"Pens",
"Pensacola",
"Pensarn",
"Penserosoo",
"Pensions",
"Penstemon",
"Penstemon ambiguus",
"Penstemon barbatus",
"Penstemon confertus",
"Penstemon digitalis",
"Penstemon eatonii",
"Penstemon erianthera",
"Penstemon fruiticosus",
"Penstemon lyallii",
"Penstemon macranthus",
"Penstemon menziesii",
"Penstemon parryi",
"Penstemon procerus",
"Peony",
"People with disabilities",
"Pepper (Spice)",
"Pepsis",
"Peranium decipiens",
"Perch",
"Percidae",
"Perciformes",
"Percussion",
"Percussionist",
"Percy",
"Perennial gaillardia",
"Perennial phlox",
"Performances",
"Perfumes",
"Perico",
"Period of Division (220 - 589)",
"Periodals",
"Periodicals",
"Periodidals",
"Peritoneum",
"Pero",
"Peroxidase",
"Perpetual calendars",
"Perpetual motion",
"Persephone",
"Perseus",
"Persian Gulf War, 1991",
"Persian dress",
"Persimmon",
"Person with disability",
"Personal Hygiene",
"Personal narratives",
"Personal narratives, English",
"Personnel management",
"Perspective",
"Perturbation (Astronomy)",
"Pests",
"Pet care",
"Petalostemon purpureum",
"Petasites hyperboreus",
"Peters Prints",
"Petrarch",
"Petrels",
"Petrifaction",
"Petrified Forest National Park",
"Petrified forests",
"Petroglyphs",
"Petroleum industry",
"Petrology",
"Petrology & Volcanology",
"Petromyzon",
"Pets",
"Pewter",
"Pewterers",
"Pezizomycetes",
"Père David's deer",
"Pêches",
"Phacelia",
"Phacelia linearis",
"Phacelia parryi",
"Phacelia serica",
"Phaeophyceae",
"Phagocytosis",
"Phanerogams",
"Pharmaceutical chemistry",
"Pharmacist",
"Pharmacology",
"Pharmacy",
"Phase rule and equilibrium",
"Phasianella",
"Phasianidae",
"Phasmidae",
"Pheasant",
"Pheasants",
"Phenology",
"Philadelphia, PA",
"Philadelphia, Pennsylvania",
"Philanthropists",
"Philatelic Hobby",
"Philichthys xiphiae",
"Philologist",
"Philology",
"Philosopher",
"Philosophical anthropology",
"Philosophy",
"Philosophy and religion",
"Philosophy of nature",
"Philosophy, Ancient",
"Philosophy, Medieval",
"Philosophy, Renaissance",
"Phisiology",
"Phlogiston",
"Phlox",
"Phlox amoena",
"Phlox caespitosa",
"Phlox divaricata",
"Phlox paniculata",
"Phlox stansburyi",
"Phlox subulate",
"Phocidae",
"Phocidae, Fossil",
"Phoebe",
"Phoenix",
"Pholadacea",
"Pholadomyoida, Fossil",
"Phonograph",
"Phoradendron flavescens",
"Phoridae",
"Phosphates",
"Phospherescense",
"Phosphorescence",
"Photoengraving",
"Photographer",
"Photographic format",
"Photographs on porcelain",
"Photography",
"Photography of animals",
"Photography of birds",
"Photography of fishes",
"Photography, Artistic",
"Photojournalist",
"Photomicrography",
"Photosynthesis",
"Phototherapy",
"Phrenology",
"Phryganeidae",
"Phrygian cap",
"Phyllodoce empetriformis",
"Phyllodoce grandiflora",
"Phyllodoce intermedia",
"Phylloxerinae",
"Phylogeny",
"Phymatidae",
"Physa",
"Physaria didymocarpa",
"Physical anthropology",
"Physical geography",
"Physical geology",
"Physical instruments",
"Physical measurements",
"Physicians",
"Physicist",
"Physics",
"Physiognomy",
"Physiognotrace",
"Physiological effect",
"Physiologists",
"Physiology",
"Physiology, Comparative",
"Phytelephas",
"Phytogeography",
"Phytogepgraphy",
"Pianist",
"Piano music",
"Piano music (Ragtime)",
"Piano music, Arranged",
"Pianoforte maker",
"Pianos",
"Piazza San Gregorio",
"Picardy",
"Picea engelmanni",
"Pick",
"Pickaxe",
"Pickerelweed",
"Pickle",
"Pickpocket",
"Pickwick Papers",
"Picnic",
"Picnics",
"Pictorial works",
"Picture books for children",
"Picture-writing",
"Pictures",
"Pieridae",
"Pieris mariana",
"Pig",
"Pigeon",
"Pigeon breeds",
"Pigeons",
"Pigments",
"Pike County",
"Pikes Peak",
"Pilaster",
"Pilate",
"Pilgrimage",
"Pilgrims (New Plymouth Colony)",
"Pillow",
"Pilot",
"Pilot guides",
"Pilots",
"Pimelodella",
"Pimos",
"Pince-nez",
"Pindola",
"Pine",
"Pine tree",
"Pineal gland",
"Pineapple",
"Pinebarren gentian",
"Pineland aster",
"Pineland blueberry",
"Pingtuo",
"Pinguicula elatior",
"Pinguicula vulgaris",
"Pink centaurium",
"Pink fleabane",
"Pink fumeroot",
"Pink heather",
"Pink hedysarum",
"Pink mountain heather",
"Pink pussytoes",
"Pink twisted stalk",
"Pinkshell azalea",
"Pinnipedia",
"Pinopsida",
"Pinus albicaulis",
"Pinus aristata",
"Pinus contorta murrayana",
"Pinus flexilis",
"Pinus monophylla",
"Pinus palustris",
"Pinus taeda",
"Pinxter bloom",
"Pioneer",
"Pioneer troops",
"Pioneers",
"Pipa",
"Pipe",
"Pipe Dance",
"Piperaceae",
"Pipes (Smoking)",
"Pipes (smoking equipment)",
"Piquet (Game)",
"Pirates",
"Pirates Cove",
"Pisa",
"Piscis Austrinus",
"Pisidiidae",
"Pistoia",
"Pistol",
"Pitcher",
"Pitcher plant",
"Pitchers",
"Pithophora",
"Pittidae",
"Pituitary gland",
"Placard",
"Place de la Concorde",
"Placodermi",
"Placophora",
"Plains",
"Plains of Carthage",
"Plaintiff",
"Planaria",
"Planariidae",
"Planes & Pilots",
"Planet",
"Planetary theory",
"Planets",
"Planimeters",
"Plankton",
"Planorbidae",
"Plant anatomy",
"Plant breeding",
"Plant cell membranes",
"Plant cells and tissues",
"Plant conservation",
"Plant defenses",
"Plant diseases",
"Plant ecology",
"Plant embryology",
"Plant forms",
"Plant hybridization",
"Plant introduction",
"Plant morphology",
"Plant phenology",
"Plant-water relationships",
"Plantation life",
"Plantation manager",
"Plantations",
"Planter",
"Planters (containers)",
"Planting",
"Plantkunde",
"Plants",
"Plants and civilization",
"Plants in art",
"Plants in the Bible",
"Plants, Cultivated",
"Plants, Edible",
"Plants, Fossil",
"Plants, Medicinal",
"Plants, Ornamental",
"Plants, Sex in",
"Plants, Useful",
"Plaque",
"Plaster casts",
"Plate",
"Plate glass",
"Plateaus",
"Plates",
"Platte River",
"Platyhelminthes",
"Platypus",
"Play",
"Playground",
"Playing",
"Playing cards",
"Playwright",
"Plaza Hotel",
"Pleiad",
"Pleuroceridae",
"Pleuronectidae",
"Plovers",
"Plow",
"Plum",
"Plum blossom",
"Plum blossoms",
"Plum tree",
"Plumbing fixtures",
"Plume anemone",
"Plumed",
"Plurality of worlds",
"Plymouth",
"Pneumatic-tube transportation",
"Pneumatics",
"Pneumonochlamyda",
"Poaceae",
"Pocket watch",
"Podium",
"Podocopida",
"Podphyllum paltatum",
"Poduridae",
"Poem",
"Poems",
"Poetry",
"Poets",
"Poets, Japanese",
"Pogonia divaricata",
"Pogonia ophioglossoides",
"Point Lobos",
"Poisonous animals",
"Poisonous fishes",
"Poisonous plants",
"Poisonous snakes",
"Poissons",
"Poker",
"Poker chips",
"Poland",
"Polar bears",
"Polarization (Electricity)",
"Pole",
"Polemonium viscosum",
"Police",
"Police brutality",
"Police uniform",
"Policeman",
"Policemen",
"Political",
"Political Caricatures",
"Political activist",
"Political cartoonist",
"Political organizations",
"Political parties",
"Political satire, English",
"Political science",
"Political scientist",
"Politician",
"Politicians",
"Politics",
"Polka (Dance)",
"Polka (Music)",
"Polkas",
"Pollin",
"Pollination by insects",
"Pollution",
"Polo",
"Polo Mallet",
"Polperro",
"Polticians",
"Polychaeta",
"Polychaeta z Naples, Bay of",
"Polychaete",
"Polychromy",
"Polycladida",
"Polycodium stamineum",
"Polycystina",
"Polycystinea",
"Polygala lutea",
"Polygala paucifolia",
"Polyglot",
"Polygordius",
"Polymorphism (Zoology)",
"Polynices",
"Polynoidae",
"Polyphemidae",
"Polyplacophora",
"Polypodiopsida",
"Polythalamea",
"Polytrichaceae",
"Polytrichopsida",
"Pomacentridae",
"Pomatias",
"Pomatiasidae",
"Pomegranate",
"Pomo",
"Pomona",
"Pompeii",
"Poncas Mountains",
"Pond Run",
"Ponds",
"Pont Royal",
"Pont Valentre",
"Pont d'Avignon",
"Pont de la Concorde",
"Pont des Arts",
"Pont du Gard",
"Pont-y-Pant",
"Ponte Santa Trinta",
"Ponte Ticino",
"Ponte Vecchio",
"Pontederia cordata",
"Pontiac, MI",
"Pontoon bridges",
"Pontoporeiidae",
"Pool",
"Poor",
"Poor People's Campaign",
"Pope",
"Poplar tree",
"Popocateptl",
"Poppy",
"Popular",
"Popular Culture",
"Popular culture",
"Popular instrumental music",
"Popular works",
"Population",
"Porcelain",
"Porcelain crabs",
"Porcelain, Asian",
"Porcelain, Chinese",
"Porcelain, French",
"Porcellanidae",
"Porch",
"Porcupine",
"Porcupine (Ship)",
"Porostromata",
"Porpoise",
"Porpoises",
"Port Arthur",
"Port Henry",
"Port Royal",
"Port of Larnaca",
"Porta San Paolo",
"Porte St. Denis",
"Porte St. Martin",
"Porte de Guillaume",
"Porte-bouquets",
"Porte-fleurs",
"Porteranthus trifoliatus",
"Porters",
"Portfolio",
"Porth Dinlleyn",
"Porthwen",
"Portia",
"Portland",
"Portland Vase",
"Portland, ME",
"Portrait miniatures",
"Portrait painters",
"Portrait painting",
"Portrait painting, American",
"Portrait painting, Japanese",
"Portrait prints",
"Portrait prints, British",
"Portraitist",
"Portraits",
"Portraits, American",
"Portraits, British",
"Portraits, Egyptian",
"Portraits, Scottish",
"Portuguese colonialism",
"Post Office Structures",
"Post horns",
"Post office",
"Post-impressionism (Art)",
"Postage stamps",
"Postage-stamp dealers",
"Postal Administration",
"Postal Employees",
"Postal Stationery",
"Postal service",
"Postcard",
"Postman",
"Postmarks",
"Postmaster General",
"Postmasters",
"Posy holders",
"Potato",
"Potentilla fruticosa",
"Potentilla glaucophylla",
"Potpourris (Piano)",
"Pots",
"Potted",
"Potter's wheel",
"Potters",
"Pottery",
"Pottery, Ancient",
"Pottery, Asian",
"Pottery, Chinese",
"Pottery, Dutch",
"Pottery, Etruscan",
"Pottery, Greek",
"Pottery, Iranian",
"Pottery, Japanese",
"Pottery, Turkish",
"Pouch",
"Poultry",
"Poultry vendor",
"Pourtalesia",
"Poverty",
"Powder horn",
"Powder puff",
"Power lines",
"Power plant",
"Powerbroker",
"Powhattan",
"Ppstage-stamps",
"Prabhutaratna Buddha",
"Practice",
"Prague",
"Prairie aster",
"Prairie du Chien",
"Prairie penstemon",
"Prairie thistle",
"Prairie-smoke",
"Prayer",
"Prayer beads",
"Prayers",
"Prayers and devotions",
"Prayers for peace",
"Pre-Raphaelitism",
"Preacher",
"Preaching",
"Precious stones",
"Precious stones, Artificial",
"Precipitation (Meteorology)",
"Prehistoric peoples",
"Prehn",
"Prelate",
"Premier",
"Preparatory sketch",
"Presbyterian Church",
"Present",
"Presentation vases",
"Preservation",
"President of Republic of Texas",
"Presidential Advisor",
"Presidential Campaign of 1800",
"Presidential Candidate",
"Presidential Medal of Freedom",
"Presidents",
"Presidents' spouses",
"Press",
"Presses, Issues of",
"Prevention",
"Prices",
"Prickly currant",
"Prickly poppy",
"Priest",
"Primates",
"Primates, Fossil",
"Prime Minister",
"Primitive",
"Primrose",
"Primrose violet",
"Primula angustifolia",
"Primula maccalliana",
"Primula parryi",
"Prince",
"Princess",
"Princeton University",
"Principal",
"Printed Material",
"Printer",
"Printers and presses",
"Printers' marks",
"Printing",
"Printing & Production Equipment",
"Printing on wood",
"Printing plate",
"Printing press",
"Printing processes",
"Printing surface",
"Printmakers",
"Printmaking",
"Prints, Japanese",
"Prints, Latin American",
"Priscilla",
"Prisodon",
"Prison",
"Prison cell",
"Prisoner",
"Prisoner of War",
"Prisoners",
"Prisoners and prisons",
"Prisoners and prisons, French",
"Prisons",
"Private",
"Private collections",
"Private libraries",
"Probabilities",
"Proboscidea (Mammals), Fossil",
"Procambarus",
"Procellariiformes",
"Procession",
"Producer",
"Professional",
"Professional organizations",
"Profile",
"Program music",
"Progress",
"Prometheus (Greek deity)",
"Promotional",
"Proofreading",
"Proserpine",
"Proserpinidae",
"Prosobranchia",
"Prospect Park",
"Prospect Rock",
"Prospector",
"Prosthesis",
"Prostitute",
"Prostitutes in art",
"Protea",
"Protection",
"Protest march",
"Protests",
"Protists",
"Protochordates",
"Protoplasm",
"Protozoa",
"Protractor",
"Protractors",
"Protura",
"Provenance",
"Prudence",
"Prunella vulgaris",
"Pruning",
"Prunus angustifolia",
"Pselaphidae",
"Pseudanodonta",
"Pseudocymopterus montanus",
"Pseudofossil",
"Pseudotsuga mucronata",
"Psilostrophe sparsiflora",
"Psocoptera",
"Psorospermosis",
"Psyche",
"Psychiatrist",
"Psychologist",
"Psychology",
"Psychology, Applied",
"Psychology, Comparative",
"Psychology, Military",
"Ptarmiganberry",
"Pteridophyta",
"Pteridophytae",
"Pteridophyte",
"Pteridopsida",
"Pteridospermopsida",
"Pterobranchia",
"Pterophoridae",
"Pteropoda",
"Pterpoda",
"Ptillidae",
"Ptolemaic Dynasty (305 - 30 BCE)",
"Public Official",
"Public Works of Art Project",
"Public health",
"Public lands",
"Public officers",
"Public relations",
"Public utilities",
"Public works",
"Publisher",
"Publishers and publishing",
"Publishers' catalogs",
"Publishing",
"Puccoon",
"Puck",
"Pueblos",
"Pughe (Edward)",
"Pulitzer Prize",
"Pulley",
"Pullman Porters",
"Pulmonata",
"Pulpit",
"Pulpit Rock",
"Pulsatilla ludoviciana",
"Pulsatilla occidentalis",
"Pulteney Bridge",
"Pumpers, Hand",
"Pumpkin",
"Punching",
"Punishment",
"Punk (Music)",
"Punta Arenas",
"Pupae",
"Pupidae",
"Puppet",
"Puppets",
"Pure Land",
"Pure Land Buddhism",
"Purépecha language",
"Puritains",
"Puritan",
"Puritan dress",
"Puritanismus",
"Puritans",
"Purple butterwort",
"Purple fairy lantern",
"Purple monkey-flower",
"Purple mountain violet",
"Purple penstemon",
"Purple prairieclover",
"Purple saxifrage",
"Purpura",
"Purpura (Mollusks)",
"Purpurea venosa",
"Purse",
"Pussy willow",
"Pussy-ears",
"Pussy-toes",
"Putrefaction",
"Putti",
"Puzzles",
"Pwllheli",
"Pycnogonida",
"Pygmy androsace",
"Pyralidae",
"Pyramid",
"Pyramid Lake",
"Pyrites",
"Pyrola asarifolia",
"Pyrola chlorantha",
"Pyrola minor",
"Pyrola secunda",
"Pyxidanthera barbulata",
"Pyxie",
"Qajar period (1779 - 1925)",
"Qianlong reign (1736 - 1796)",
"Qilin",
"Qin",
"Qin dynasty (221 - 206 BCE)",
"Qing dynasty (1644 - 1911)",
"Quadrilles",
"Quail",
"Quails",
"Quakerladies",
"Quakers",
"Quality",
"Quamasia quamash",
"Quantitative",
"Quarry",
"Quatrefoils",
"Queen",
"Queen Mother of the West",
"Queen's slipper",
"Queencup",
"Queens",
"Quena",
"Quezaltenango",
"Quill",
"Quill-leaf tillandsia",
"Quillwork",
"Quilts",
"Quiver",
"Qur'an",
"R., Doctor",
"Rabbi",
"Rabbit seller",
"Rabbitbean",
"Rabbits",
"Race",
"Race films",
"Race relations",
"Race riots",
"Racetrack",
"Rachel",
"Racial Uplift",
"Racing",
"Racing automobiles",
"Racketeer",
"Radha",
"Radicofane",
"Radio",
"Radio performer",
"Radioactivity",
"Radiolaria",
"Radiotherapy",
"Radium",
"Raft",
"Ragamala",
"Ragged fringe-orchid",
"Ragtime (Music)",
"Ragwort",
"Rail",
"Railing",
"Railroad",
"Railroad builder",
"Railroad conductors",
"Railroad land grants",
"Railroad law",
"Railroad locomotives",
"Railroad mail service",
"Railroad promoter",
"Railroad station",
"Railroad tunnels",
"Railroad yard",
"Railroads",
"Railroads and state",
"Rain",
"Rain Ceremony",
"Rain and rainfall",
"Rainbow",
"Rainbows",
"Raja",
"Rajiformes",
"Rake",
"Raku pottery",
"Ramayana",
"Rams",
"Ramshead ladyslipper",
"Rana temporaria",
"Rancher",
"Randia dumetorum",
"Range-finding",
"Ranidae",
"Raninidae",
"Ranja script",
"Ranunculus suksdorfii",
"Rappers (Musicians)",
"Raqqa ware",
"Raquette Lake",
"Rare animals",
"Rare birds",
"Rare insects",
"Rasikapriya",
"Rassentheorie",
"Rates",
"Rates and tolls",
"Ratio and proportion",
"Ratites",
"Rats",
"Rattenberg",
"Rattle",
"Rattlesnake Roat",
"Rattlesnakes",
"Ravana",
"Raven",
"Ravenna",
"Ravens",
"Rayless groundsel",
"Raymond",
"Rays (Fishes)",
"Rāma (Hindu deity)",
"Readers (Primary)",
"Reading",
"Real Estate",
"Real estate agent",
"Rear Admiral",
"Rebecca",
"Rebel",
"Reconstruction",
"Reconstruction, U.S. History, 1865-1877",
"Recreation",
"Recruiting and enlistment",
"Rector",
"Red buckeye",
"Red chokeberry",
"Red columbine",
"Red comandra",
"Red dewberry",
"Red larkspur",
"Red lily",
"Red maple",
"Red monkeyflower",
"Red pinesap",
"Red pitcherplant",
"Red trillium",
"Red willowweed",
"Red-helmet",
"Reddition aux Britanniques, 1812",
"Redlands",
"Redstem saxifrage",
"Redwood Falls",
"Redwoods",
"Referee",
"Refinery",
"Reflecting pool",
"Reform",
"Reformers",
"Refraction, Double",
"Refrigeration and refrigerating machinery",
"Refrigerators",
"Refugee",
"Regalia (Insignia)",
"Regeneration (Biology)",
"Regent",
"Regimental histories",
"Regular-Faced Convex Polyhedra",
"Regulus Missile Mail",
"Reign of Akbar (1556 - 1605)",
"Reign of Jahangir (1605 - 1627)",
"Reign of Shah Jahan (1628 - 1658)",
"Reincarnation",
"Reindeer",
"Reins",
"Relief",
"Relief seal",
"Religion",
"Religion and Spirituality",
"Religion and mythology",
"Religion and science",
"Religious artist",
"Religious groups",
"Religious leader",
"Reliques of Ancient English Poetry",
"Relocation",
"Renaissance",
"Renaissance dress",
"Renovation (Architecture)",
"Renwick Gallery",
"Repairman",
"Repertory Theatre",
"Reporter",
"Repoussé work",
"Reproduction",
"Reptile",
"Reptiles",
"Reptiles as pets",
"Reptiles, Fossil",
"Republic",
"Rescue work",
"Research institutes",
"Research vessels",
"Researcher",
"Reservoirs",
"Resignation",
"Resins, Fossil",
"Resist dyeing",
"Resistance",
"Respiration",
"Respiratory organs",
"Restaurant",
"Restaurants",
"Restaurateur",
"Retail",
"Retail Business",
"Retailer",
"Retalhuleu",
"Retired",
"Revenue stamps",
"Revenue-stamps",
"Review of troops",
"Revival",
"Revivals",
"Revolution and the New Nation",
"Revolutionary",
"Revues",
"Récif corallien",
"Rhabditophora",
"Rhabdocoelida",
"Rhamnaceae",
"Rheinfels",
"Rhetoric, Ancient",
"Rhexia virginica",
"Rhine River",
"Rhinoceros (Genus)",
"Rhinoceroses",
"Rhizocephala",
"Rhizopoda",
"Rhizostomeae",
"Rhododendron",
"Rhododendron albiflorum",
"Rhododendron californicum",
"Rhododendron carolinianum",
"Rhododendron catawbiense",
"Rhododendron maximum",
"Rhododendron occidentale",
"Rhododendron speciosum",
"Rhododendrons",
"Rhone River",
"Rhone Valley",
"Rhynchocephalia",
"Rhynchonellata",
"Rhynchophora",
"Rhythm and blues (Music)",
"Rialroad stories",
"Ribbon",
"Ribes lacustre",
"Ribes species",
"Riccia",
"Rice",
"Rice farming",
"Rice weevil",
"Rice wines",
"Rich Man and Lazarus",
"Ridgefield",
"Riding",
"Riding Crop",
"Riesengebirge",
"Rifle",
"Rifles",
"Right whales",
"Rigi",
"Rijsord",
"Riker's (Brand name)",
"Ring",
"Rings",
"Rio Mancos",
"Rio de Janeiro (rj)",
"Rip Van Winkle",
"Ripple Lake",
"Rishi",
"Rissoidae",
"Rissoina",
"Rites and ceremonies",
"Rituals (events)",
"Riva degli Schiavoni",
"River Avon",
"River Thames",
"River scenes & river life",
"River surveys",
"Riverbank gentian",
"Riverboat",
"Riverboat captain",
"Rivers",
"Riverscape",
"Riveting",
"Road Transportation",
"Roads",
"Robber flies",
"Robe",
"Robin",
"Robinia neomexicana",
"Robins",
"Robots",
"Robots and Automatons",
"Roccagiovine",
"Roche",
"Rochester",
"Rochester, NY",
"Rock Creek",
"Rock Creek Canyon",
"Rock Creek Park",
"Rock Creek Park (Washington, D.C.)",
"Rock Island",
"Rock Tower",
"Rock and roll (Music)",
"Rock formation",
"Rock of Gibraltar",
"Rock paintings",
"Rock salt",
"Rock willow",
"Rock wormwood",
"Rockefeller Chapel",
"Rocker Creek",
"Rocket",
"Rocketry",
"Rockets (Aeronautics)",
"Rockets (Ordnance)",
"Rocking Horse",
"Rocking chair",
"Rockland Lake",
"Rocks",
"Rocks, Siliceous",
"Rockville",
"Rocky Mountain locust",
"Rocky mountain cassiope",
"Rocky mountain kalmia",
"Rocky mountain rhododendron",
"Rocky mountain twayblade",
"Rodents",
"Rodents, Fossil",
"Rodeos",
"Rodman",
"Roe deer",
"Roller skates",
"Roller skating",
"Roman Forum",
"Roman Period (30 BCE - 395 CE)",
"Roman type",
"Romance",
"Romanzoffia sitchensis",
"Romein (lettertype)",
"Romeo and Juliet",
"Romneya coulteri",
"Roof",
"Rookwood pottery",
"Rooster",
"Roots (Botany)",
"Rope",
"Rope skipping",
"Rosa bourgeauiana",
"Rosa species",
"Rosaceae",
"Rose Marie",
"Rose gentian",
"Rose mallow",
"Rose paintbrush",
"Rose pogonia",
"Rose-bay rhododendron",
"Rosebud orchid",
"Rosenwald Museum",
"Roses",
"Rosporden",
"Ross",
"Rostroconchia",
"Rotation",
"Rotifera",
"Rotterdam",
"Rouen",
"Rouen Cathedral",
"Round Hill Road",
"Roundleaf orchis",
"Roundleaf sundew",
"Rouseville",
"Rowboat",
"Rowing",
"Roxbury, MA",
"Royal",
"Royal Oak",
"Royal collar",
"Royal forests",
"Royal gardens",
"Royalty",
"Rubaiyat",
"Rubber",
"Rubiaceae",
"Rubrication",
"Rubus",
"Rubus argutus",
"Rubus articus",
"Rubus parviflorus",
"Rubus pedatus",
"Rucksack",
"Rue Dominique Conte",
"Rue San Jacques",
"Rue de Honore",
"Rue de Pyramides",
"Rue de Village",
"Rue du Puits Sale",
"Ruff",
"Rug",
"Rugby football",
"Rugosa",
"Rugs",
"Rugs, Persian",
"Ruins",
"Rukmini",
"Rule, Calculating",
"Rule, Measuring",
"Ruled-line painting",
"Ruler",
"Rulers and Aristocracy",
"Ruminants",
"Running script",
"Rural areas",
"Rural conditions",
"Rural life",
"Rush",
"Rush Street Bridge",
"Russian Castle",
"Rustic",
"Ruyi",
"Ryder",
"Rye",
"S?afavid dynasty, 1501-1736",
"Saalfeld",
"Sabbatia angularis",
"Sabbatia stellaris",
"Saber",
"Sabina",
"Sabine",
"Sabines",
"Sac and Fox",
"Saco Bay",
"Sacrifice",
"Saddle",
"Sadhu",
"Safari",
"Safaris",
"Safe",
"Safecracker",
"Safety",
"Sage",
"Sagitta",
"Sagittaria cuneata",
"Sagittarius",
"Sagittoidea",
"Saguaro cactus",
"Sahara Desert",
"Sailboats",
"Sailing Ships",
"Sailing ships",
"Sailor",
"Sailors",
"Saint Anne's River",
"Saint Cloud",
"Saint Croix River",
"Saint Cyr",
"Saint Germain",
"Saint Germaine-des-Près",
"Saint Goarshausen",
"Saint Johns River",
"Saint Martin's Bridge",
"Saint Mihiel",
"Saint Omer",
"Saint Paul",
"Saint Peter's River",
"Saint Severin",
"Saint Valery-sur-Somme",
"Saints",
"Saite Dynasty 26 (664 - 525 BCE)",
"Sake",
"Salamanders",
"Salamandra",
"Salem",
"Sales catalogues",
"Salix",
"Salix discolor",
"Salix drummondiana",
"Salix nivalis",
"Salix petrophila",
"Salix vestita",
"Saljuq period (1037 - 1300)",
"Salmon",
"Salmon fisheries",
"Salmon fishing",
"Salmonidae",
"Salome",
"Salon orchestra music",
"Salsa (Music)",
"Salsify",
"Salt Lake City, UT",
"Salt River Mountains",
"Salter's Beach",
"Saltmarsh rosegentian",
"Saltwood Castle",
"Salvari",
"Salvation",
"Salvation army",
"Salvia funerea",
"Salzig",
"Samantabhadra",
"Samaria",
"Samarra ware",
"Sambucas pubens",
"Samurai",
"Samurai in art",
"San Angel",
"San Antonio",
"San Francisco Bay",
"San Francisco, CA",
"San Giorgio",
"San Giorgio Maggiore",
"San Isidro",
"San José scale",
"San Luis Obispo",
"San Mateo",
"San Piero a Grado",
"San Remo",
"San Trovaso Quarter",
"San Xavier Mission",
"San diego mariposa",
"Sanbiza",
"Sand myrtle",
"Sand phacelia",
"Sand verbena",
"Sandals, Prehistoric",
"Sanguinaria canadensis",
"Sanifoiga adscendeus",
"Sanitary Commission Fair",
"Sanitary affairs",
"Sanitation",
"Sanitation worker",
"Sanskrit",
"Sansom Street",
"Santa Barbara Channel",
"Santa Claus",
"Santa Francesca Romana",
"Santa Maria",
"Santa Maria Del Fiore",
"Santa Maria dell'Isola",
"Santa Maria della Salute",
"Santa Rosa Island",
"Santo Domingo",
"Santorin",
"Saparo",
"Sapi-Portuguese style",
"Sapindales",
"Sapotaceae",
"Sappho",
"Sarah A. Stevens",
"Sarasvati",
"Saraswati",
"Saratoga",
"Sarcodes sanguinea",
"Sarcophagi",
"Sarcophagidae",
"Sardine fisheries",
"Sarracenia catesaei",
"Sarracenia drummondii",
"Sarracenia flava",
"Sarracenia jonesii",
"Sarracenia minor",
"Sarracenia minor x psittacina",
"Sarracenia orephila",
"Sarracenia psittacina",
"Sarracenia purpurea",
"Sarracenia purpurea venosa",
"Sarracenia rubra",
"Sarrancenia drummondii xs rubra",
"Sash",
"Sash and Blind Factory",
"Saskatoon",
"Satellites",
"Satin stitch",
"Satinleaf goldenhead",
"Satirist",
"Satyr",
"Satyridae",
"Satyrs (Greek mythology)",
"Saucer",
"Sauerkraut Row",
"Sauli",
"Sault Ste. Marie",
"Sausages",
"Sausalito",
"Saussurea",
"Saussurea densa",
"Savannah",
"Savannah Harbor",
"Savannah, GA",
"Saw-flies",
"Sawflies",
"Saws",
"Saxifraga bronchialis",
"Saxifraga caespitosa",
"Saxifraga lyallii",
"Saxifraga oppositifolia",
"Saxifragaceae",
"Saxifrage",
"Saxophones",
"Saxophonist",
"São João Baptista de Ajudá (Benin)",
"Scabbard",
"Scale",
"Scale Rules",
"Scale insects",
"Scallops",
"Scallops, Fossil",
"Scalp Dance",
"Scaphopoda",
"Scaphopoda, Fossil",
"Scarabaeidae",
"Scarf",
"Scarlet elder",
"Scarlet gilia",
"Scarlet globe-mallow",
"Scarlet loco",
"Scarlet mariposa",
"Scenographer",
"Scepter",
"Schaffhausen",
"Schenectady, NY",
"Schistosoma haematobium",
"Schizocodon soldanelloides",
"Schleissheim Palace",
"Scholar",
"Scholarly organization",
"Scholarships, fellowships, etc",
"Scholasticism",
"School for Scandal",
"School gardens",
"Schools",
"Schottisches",
"Schriftprobe",
"Schroon Lake",
"Schuyler",
"Schuylkill River",
"Science",
"Science and Technology",
"Science fiction, American",
"Science fiction, French",
"Science museums",
"Science rooms and equipment",
"Science, Ancient",
"Science, Medieval",
"Sciences naturelles",
"Scientific",
"Scientific Theorist",
"Scientific apparatus",
"Scientific apparatus and instruments",
"Scientific applications",
"Scientific expeditions",
"Scientists",
"Scissors",
"Scissurellidae",
"Scleractina",
"Scleractinia",
"Scolopendra",
"Scolytidae",
"Scorpio",
"Scorpion",
"Scorpions",
"Scottish deerhound",
"Scout",
"Scrapbook",
"Screen",
"Screenwriter",
"Scrimshaw",
"Scripts (writing)",
"Scroll",
"Scrolls (information artifacts)",
"Scrophulariaceae",
"Sculpting tool",
"Sculptors",
"Sculpture",
"Sculpture model",
"Sculpture study",
"Sculpture, Baroque",
"Sculpture, Chinese",
"Sculpture, Egyptian",
"Sculpture, German",
"Sculptures",
"Scutellaria serrata",
"Scutelleridae",
"Scydmaenidae",
"Scylla",
"Scyllaridae",
"Scyphocrinus",
"Scyphozoa",
"Scythe",
"Sea",
"Sea Bright",
"Sea anemones",
"Sea birds",
"Sea captain",
"Sea cucumbers",
"Sea horse",
"Sea monsters",
"Sea of Tiberias",
"Sea otter",
"Sea pansies",
"Sea pens",
"Sea snakes",
"Sea songs",
"Sea squirts",
"Sea urchins",
"Sea urchins, Fossil",
"Sea-serpent",
"Seagull",
"Seal",
"Seal style",
"Sealing",
"Seals (Animals)",
"Seals (Animals), Fossil",
"Seals (Numismatics)",
"Seaman",
"Seaplanes",
"Search and rescue operations",
"Seas",
"Seascape",
"Seashore animals",
"Seashore biology",
"Seashore ecology",
"Seasons",
"Seated",
"Seating",
"Seating (Furniture)",
"Seawater",
"Seaweed",
"Secernentea",
"Secessionist",
"Seconnet Point",
"Secret Service",
"Secret societies",
"Secretary",
"Secretary of Agriculture",
"Secretary of Commerce",
"Secretary of Defense",
"Secretary of Interior",
"Secretary of Labor",
"Secretary of State",
"Secretary of Treasury",
"Secretary of War",
"Secretary of the Navy",
"Security guards",
"Sedgely Park",
"Sedimentation and deposition",
"Sediments",
"Sedum stenopetalum",
"See saw",
"Seeds",
"Seekonk River",
"Sego lily",
"Segovia",
"Segregation",
"Seige and Surrender of British Forces at Yorktown, Virginia",
"Seine River",
"Seining",
"Seishi",
"Seizan school",
"Selections from the Abraham Lincoln Collection",
"Self-culture",
"Self-heal",
"Self-liberation",
"Self-portraits",
"Selkirk Mountains",
"Selling",
"Selma to Montgomery Marches",
"Semi-cursive script",
"Seminary founder",
"Seminole War, 2nd, 1835-1842",
"Semse organs",
"Senator",
"Senators",
"Seneca Falls",
"Seneca Lake",
"Seneca River",
"Senecia triangularis",
"Senecio burkei",
"Senecio canus",
"Senecio lugens",
"Senecio pauciflorus",
"Senecio species",
"Senke Shin school",
"Senke school",
"Sense organs",
"Senses",
"Senses and sensation",
"Separation (Psychology)",
"Sepulchral monuments",
"Sepulchral monuments industry",
"Sepulchral monuments, Victorian",
"Sequoia",
"Sequoia gigantea",
"Sequoia tree",
"Sergestes",
"Sergestidae",
"Sericulture",
"Sermon",
"Sermon on the Mount",
"Serpent worship",
"Serpents",
"Serranidae",
"Sertulariidae",
"Servant",
"Servants",
"Service",
"Service worker",
"Seto pottery",
"Settee",
"Settlement",
"Seven Years War",
"Seventeenth century dress",
"Seventh Street",
"Sewing",
"Sewing Machines",
"Sewing machine",
"Sewing machines",
"Sewing tool",
"Sex",
"Sex (Biology)",
"Sex differences",
"Sextants",
"Sexual dimorphism (Animals)",
"Sexual selection in animals",
"Sexuality",
"Sèvres porcelain",
"Sgraffito ware",
"Shackles",
"Shad",
"Shad fisheries",
"Shadbush",
"Shahnama",
"Shailendra period (ca. 750 - ca. 850)",
"Shakers",
"Shakespeare",
"Shaking hands",
"Shako",
"Shakyamuni",
"Shakyamuni Buddha",
"Sham Fight",
"Shamisen",
"Shamrocks",
"Shang dynasty (ca. 1600 - ca. 1050 BCE)",
"Shark",
"Sharks",
"Shattagee River",
"Shawangunk Mountains",
"Shawl",
"Sheaf",
"Shed",
"Sheep",
"Sheep-tick",
"Sheet music covers",
"Sheffield plate",
"Shell-fish fisheries",
"Shelley",
"Shellfish",
"Shellfish culture",
"Shellfish fisheries",
"Shellfish trade",
"Shells",
"Shells (Ammunition)",
"Shells in art",
"Shells in literature",
"Shelving (Furniture)",
"Sheng",
"Shepherd",
"Sheridan",
"Sheriff",
"Sherman",
"Shide",
"Shield",
"Shields",
"Shih-te",
"Shikishi",
"Shinto",
"Ship \"Bristol Packet\"",
"Ship Models",
"Ship chandlers",
"Ship designer",
"Ship owner",
"Shipbuilder",
"Shipbuilding",
"Shipbuilding industry",
"Shipmaster",
"Shipping",
"Ships",
"Ships, Concrete",
"Shipwreck",
"Shipwreck survival",
"Shipwrecks",
"Shipyard",
"Shirley House",
"Shiva",
"Shoemaker",
"Shoes",
"Shooting",
"Shooting star",
"Shop front",
"Shopping",
"Shore",
"Shore birds",
"Shore flies",
"Shorthand",
"Shorthand, Chinook",
"Shortia galacifolia",
"Shortspur columbine",
"Shoshone Falls",
"Shotguns",
"Shoulder",
"Shoulder girdle",
"Shovel",
"Show windows",
"Shower",
"Showman",
"Showy aster",
"Showy fleabane",
"Showy ladyslipper",
"Showy milkweed",
"Showy orchid",
"Showy orchis",
"Showy oxytrope",
"Showy pyrola",
"Shōgetsudō Ko school",
"Shrews",
"Shri Nathji",
"Shrimp",
"Shrimp fisheries",
"Shrimps",
"Shrine",
"Shrine/Altar",
"Shrubs",
"Shuten Doji",
"Shylock",
"Siberian onion",
"Siblings",
"Siboga Expedition",
"Sibyl",
"Sicily",
"Sidebells pyrola",
"Sidesaddle goldenrod",
"Sidney N. Shure Collection",
"Sidon",
"Siege of Boston",
"Siege of Vicksburg",
"Siege warfare",
"Siena",
"Siena Cathedral",
"Sierra Blanca Range",
"Sierra Nevada Mountains",
"Sierre",
"Sieversia ciliata",
"Sightseers",
"Sign painter",
"Signal flags",
"Signatures",
"Signer of Constitution",
"Signer of Declaration",
"Signs and signboards",
"Signs and symbols",
"Silage machinery",
"Silas",
"Silene acaulis",
"Silene caroliniana",
"Silene latifolia",
"Silene multicaulis",
"Silene virginica",
"Silenus",
"Silhouette",
"Silhouettes",
"Silhouettist",
"Silk",
"Silk industry",
"Silk weaving",
"Silkworms",
"Silo",
"Silphidae",
"Silurian Geologic Period",
"Siluridae",
"Silurien",
"Silver",
"Silver Cascade",
"Silver Lake",
"Silver mines and mining",
"Silver-plated ware",
"Silverberry",
"Silvering",
"Silversides",
"Silversmith",
"Silversmiths",
"Silverwork",
"Sin",
"Sinai",
"Sinai Desert",
"Singer",
"Singers",
"Singers (Musicians)",
"Single-leaf pine",
"Sinks (Plumbing fixtures)",
"Sino-Japanese War, 1894-1895",
"Siout",
"Siphonaria",
"Siphonophora",
"Sipunculidea",
"Sir Galahad",
"Siren",
"Siren lacertina",
"Sirenia",
"Sirenidae",
"Siricidae",
"Sisyrinchium angustifolium",
"Sisyrinchium species",
"Sita",
"Sitcoms",
"Sitka",
"Sitotroga cerealella",
"Skat (Game)",
"Skates",
"Skates (Fishes)",
"Skating",
"Skeleton",
"Skeleton flower",
"Skeleton weed",
"Skeletons",
"Sketch Book of Geoffry Crane",
"Sketch from life",
"Sketchbook",
"Sketching",
"Skilled labor",
"Skin",
"Skinks",
"Skull",
"Skunk",
"Skunk cabbage",
"Sky",
"Skylight",
"Skyscraper",
"Skyscrapers",
"Slave Dance",
"Slave hire system",
"Slave owner",
"Slave trader",
"Slavery",
"Slavery and Islam",
"Slavery and the church",
"Slavery in literature",
"Slavey language",
"Sledding",
"Sleds & sleighs",
"Sleep",
"Sleeping",
"Sleeping Beauty",
"Sleepwear",
"Sleigh",
"Sleighing",
"Slender agoseris",
"Slender cotton-grass",
"Slender ladies tresses",
"Slender shootingstar",
"Slicer",
"Slide Rules",
"Slide-rule",
"Slim larkspur",
"Sling",
"Slippers",
"Sloths",
"Sloths, Fossil",
"Slug-worms",
"Slugs (Mollusks)",
"Small cranberry",
"Small purple fringe orchid",
"Small pyrola",
"Small tiger lily",
"Small yellow ladyslipper",
"Smallmouth bass",
"Smell",
"Smiling",
"Smithsonian Institution",
"Smithsonian buildings",
"Smithy",
"Smock",
"Smocking",
"Smoke",
"Smokestack",
"Smokestacks",
"Smoking",
"Smoking Horses",
"Smoking Implements",
"Smoking material",
"Smoking the Shield",
"Smooth yellow violet",
"Snails",
"Snake River",
"Snakes",
"Snapping shrimps",
"Snipe",
"Snipe shooting",
"Snipes",
"Snood",
"Snow",
"Snow plant",
"Snow willow",
"Snowberry",
"Snowflakes",
"Snowshoe Dance",
"Snowshoes",
"Soap",
"Soccer",
"Social Conditions",
"Social and civic facilities",
"Social and moral questions",
"Social aspects",
"Social conditions",
"Social conflict",
"Social life and customs",
"Social life and customs, 1868-1912",
"Social reform",
"Social reformer",
"Social reformers",
"Social sciences",
"Social skills",
"Social stationery",
"Social worker",
"Socialite",
"Sociedad Economica",
"Societies",
"Society",
"Society and social change",
"Society of the Cincinnati",
"Society publications",
"Sociologist",
"Sociology",
"Soda Butte Creek",
"Sofa",
"Soft-shelled turtles",
"Soil management",
"Soils",
"Solanaceae",
"Solar eclipses",
"Soldiers",
"Soldiers' monuments",
"Sole",
"Solea",
"Solenodon",
"Solenogasters",
"Solenogastres",
"Solidago oreophila",
"Solitaire (Bird)",
"Solola",
"Solpugida",
"Solution (Chemistry))",
"Sombrero",
"Somnambula",
"Son of US President",
"Song dynasty (960 - 1279)",
"Song sparrow",
"Songbirds",
"Songs (High voice) with orchestra",
"Songs (Low voice) with piano",
"Songs (Medium voice) with piano",
"Songs with harpsichord",
"Songs with instrumental ensemble",
"Songs with orchestra",
"Songs with piano",
"Songs with piano, Arranged",
"Songs, Eskimo",
"Songs, Haida",
"Songwriter",
"Sonnets, American",
"Soochow",
"Soprano",
"Sorbonne",
"Sorbus sambucifolia",
"Sordariomycetes",
"Sorex",
"Sororities",
"Sorrento",
"Sorrow",
"Soul (Music)",
"Sound",
"Sound Beach",
"Sound Devices",
"Sound production by animals",
"Sound production in animals",
"Sound recordings",
"Sounding Statues of Memnon",
"Sounding and soundings",
"Soup",
"South African War, 1899-1902",
"South Asian and Himalayan Art",
"South Market Street",
"Southeast Asian Art",
"Southern Song dynasty (1127 - 1279)",
"Southern bird's foot violet",
"Southern coast violet",
"Southern magnolia",
"Southport",
"Southwold",
"Souvenir Nation",
"Sowing",
"Sōtatsu-Kōrin School",
"Space Exploration & the Universe",
"Spanish American War",
"Spanish Gypsy",
"Spanish Peaks",
"Spanish bayonet",
"Spanish colonialism",
"Spanish colonies",
"Spanish dress",
"Spanish moss",
"Spanish-American War (1898)",
"Sparganium",
"Sparrow",
"Sparrows",
"Spathyema foetida",
"Spats",
"Speaker of the House",
"Speaker of the house",
"Speaking Trumpets",
"Spear",
"Spear point",
"Spears",
"Special educator",
"Species",
"Species, Origin of",
"Specifications",
"Specimens",
"Spectators",
"Spectrum analysis",
"Speech",
"Speed",
"Speke",
"Speke Hall",
"Sperm whale",
"Spermatogenesis in animals",
"Sphaeralcea davidsonii",
"Sphaeralcea grossulariaefolia",
"Sphaeriidae",
"Sphaerodactylus",
"Spherical Trigonometry",
"Spherical astronomy",
"Spherometers",
"Sphingidae",
"Sphinx",
"Sphinx vespiformis",
"Spice plants",
"Spicebush",
"Spices",
"Spider Lake",
"Spider beetles",
"Spiderlily",
"Spiders",
"Spiders, Fossil",
"Spies",
"Spigelia marylandica",
"Spinal cord",
"Spines (Zoology)",
"Spinning wheel",
"Spiny lobsters",
"Spiral",
"Spirals",
"Spires",
"Spirit",
"Spirit writings",
"Spiritualist",
"Spirituality",
"Spirituals (Music)",
"Spirituals (Songs)",
"Split-rail",
"Spoken word (Poetry)",
"Sponges",
"Sponges, Fossil",
"Spontaneous generation",
"Spoon",
"Spoonbill",
"Spoonbills",
"Spoons",
"Sporozoa",
"Sport",
"Sport and play",
"Sporting goods",
"Sporting prints",
"Sports",
"Sports Equipment",
"Sports and Recreation",
"Sports arena",
"Sports equipment",
"Sports executive",
"Sports spectator",
"Sports uniform",
"Spotsylvania Court House, Battle of, Va., 1864",
"Spotted beebalm",
"Spotted cyrtopodium",
"Spotted pipsissewa",
"Spotted saxifrage",
"Spouses",
"Spring",
"Spring and Autumn period (770 - 476 BCE)",
"Spring beauty",
"Springfield, MO",
"Springs (Mechanism)",
"Springtails",
"Sprinklers",
"Spruce trees",
"Spurs",
"Spy",
"Spyglass",
"Squaliformes",
"Square",
"Square Hills",
"Squids",
"Squillidae",
"Squirrel",
"Squirrelcorn",
"Squirrels",
"St. Agnes",
"St. Andrew",
"St. Anne",
"St. Anthony",
"St. Augustine",
"St. Barbara",
"St. Benedict",
"St. Bernard",
"St. Brighid",
"St. Catherine",
"St. Cecilia",
"St. Christopher",
"St. Elizabeth",
"St. Ephesius",
"St. Francesca",
"St. Francis",
"St. Francis Church",
"St. Gabriel",
"St. Genevieve",
"St. George",
"St. Germain des Pres",
"St. Gregory",
"St. Isidor",
"St. Ives",
"St. Jacques Cathedral",
"St. James",
"St. Jerome",
"St. Joan of Arc",
"St. John",
"St. John the Baptist",
"St. Joseph",
"St. Laurent",
"St. Legier",
"St. Louis",
"St. Louis Exposition",
"St. Luke",
"St. Mark",
"St. Mark's Abbey",
"St. Mark's Cathedral",
"St. Mark's Plaza",
"St. Martha",
"St. Martin's Church",
"St. Mary Magdalen",
"St. Matthew",
"St. Maur",
"St. Michael",
"St. Ouen",
"St. Paul",
"St. Paul's Cathedral",
"St. Peter",
"St. Peter's Church",
"St. Petersburg",
"St. Raphael",
"St. Raymond",
"St. Rita",
"St. Roch",
"St. Sepulchre",
"St. Severin",
"St. Stephen's Church",
"St. Teresa",
"St. Thechla",
"St. Thomas",
"St. Tropez",
"St. Ursula",
"St. Valery",
"St. Xavier Church",
"Stable",
"Stachys palustria",
"Staff",
"Staffs (Sticks)",
"Staffs (Sticks, canes, etc.)",
"Staffs (Sticks, canes, etc.).)",
"Stag",
"Stag beetles",
"Stage",
"Stage set",
"Stage-setting and scenery",
"Stagecoach",
"Stagger-bush",
"Stained glass",
"Staircase",
"Staircases",
"Stairs",
"Stamp collectors",
"Standards",
"Standards of fineness",
"Staphylinidae",
"Star",
"Star of David",
"Star solomonplume",
"Starch",
"Starfishes",
"Starling",
"Stars",
"Stars of Stage & Screen",
"State",
"State Attorney General",
"State Government",
"State Representative",
"State Supreme Court Justice",
"State of being",
"State, The",
"Statehood (American politics)",
"Staten Island",
"States",
"Statesman",
"Statesmen",
"Stationery trade",
"Stations",
"Statistician",
"Statistics",
"Statue of Liberty",
"Statue of Liberty (New York, N.Y.)",
"Statues",
"Statuette",
"Status",
"Stauromedusae",
"Staurozoa",
"Steam",
"Steam Engines",
"Steam drop hammer",
"Steam engines",
"Steam-engines",
"Steam-navigation",
"Steamboat captain",
"Steamer",
"Steamship",
"Steamship RMS Titanic, April 14-15, 1912",
"Steamship designer",
"Steel",
"Steel castings",
"Steel castings industry",
"Steel engraving",
"Steel industry and trade",
"Steel, Cast",
"Steelwork",
"Steeple",
"Steeples",
"Stegocephali",
"Stegosaurus",
"Stelleria leata",
"Stelleroidea",
"Stenanthium occidentale",
"Stencil work",
"Stenographers",
"Stenolaemata",
"Step",
"Steppes",
"Stereograph",
"Stereoscope",
"Stereotypes",
"Sterne",
"Steuben Monument (Potsdam, Germany)",
"Steuben Monument (Washington, D.C.)",
"Stevenson",
"Stevensons Island",
"Stewartia malachodendron",
"Stickpin",
"Still life artist",
"Stinkbugs",
"Stirrenberg Castle",
"Stock",
"Stock Markets",
"Stock broker",
"Stockbroker",
"Stocking",
"Stole",
"Stomach",
"Stomatopoda",
"Stone",
"Stone Cottage",
"Stone lanterns",
"Stone pine tree",
"Stoneflies",
"Stoneman Douglas High School Shooting",
"Stoneware",
"Stony Brook Bridge",
"Stony Point",
"Stool",
"Storage",
"Storage tank",
"Store",
"Store fixtures",
"Stories",
"Stork",
"Storks",
"Storm King",
"Storms",
"Story teller",
"Story telling",
"Storytelling",
"Stour River",
"Stourbridge Lion (Steam locomotive)",
"Stove",
"Strait of Messina",
"Straits of Gibraltar",
"Straits of Mackinac",
"Strasbourg",
"Stratigraphic",
"Stratigraphic correlation",
"Straw",
"Straw hat",
"Strawberry",
"Strawberry bush",
"Strawberry-Blite",
"Stream",
"Street musicians",
"Street railroads",
"Street sweeper",
"Street-railroads",
"Streetcar",
"Streetlight",
"Streets",
"Strepsiptera",
"Streptaxidae",
"Streptopus amplexifolius",
"Streptopus curvipes",
"Stripes",
"Strolling",
"Stromatoporoidea",
"Strombidae",
"Stromboli",
"Strongylidae",
"Strophomenata",
"Structural engineer",
"Stuart, Gilbert",
"Stucco",
"Study and teaching",
"Study and teaching (Higher)",
"Study and teaching (Secondary)",
"Stunt performers",
"Stupa",
"Sturgeon",
"Sturgeons",
"Stylasteridae",
"Stylomecon heterophylla",
"Stylommatophora",
"Subject Specific",
"Submarines (Ships)",
"Suburban homes",
"Subway",
"Subways",
"Success",
"Succulent plants",
"Suctoria",
"Sudbury",
"Suffrage",
"Suffragist",
"Sugar",
"Sugar beet",
"Sugar beet cyst nematode",
"Sugar maple",
"Sugarcane",
"Sugarloaf Mountain",
"Sui dynasty (581 - 618)",
"Sui-ten",
"Suicide",
"Suitcase",
"Sulfuric acid",
"Sullivan's Island",
"Sully, Thomas",
"Sulphur Mountain",
"Sultan",
"Sultan Orkan",
"Sumac",
"Summer",
"Summer Street",
"Sun River",
"Sun dial lupine",
"Sunbirds",
"Sunburst",
"Sunday schools",
"Sundials",
"Sunetta Link",
"Sunflower",
"Sunglasses",
"Sunrise",
"Sunrises & sunsets",
"Sunset",
"Sunset Hill",
"Superintendent",
"Supernatural beings",
"Superstition Mountain",
"Supper at Emmaus",
"Supreme Court justice",
"Surfboard",
"Surfer",
"Surgeon General",
"Surgery",
"Surgical instruments and apparatus",
"Surprise",
"Surreal",
"Surrender at Appomattox",
"Surrender at Saratoga",
"Surrender at Yorktown",
"Surrender by General Lee",
"Survey Prints",
"Surveying",
"Surveyors",
"Surveys",
"Survival",
"Surya",
"Susanna",
"Suspenders",
"Susquehanna River",
"Sussex",
"Sutra",
"Sutton Place",
"Swallow",
"Swallows",
"Swamp aster",
"Swamp azalea",
"Swamp magnolia",
"Swan",
"Swastika",
"Swastikas",
"Sweatshops",
"Swedish gymnastics",
"Sweet Azalea",
"Sweet androsace",
"Sweet pitcherplant",
"Sweet potato",
"Sweet trillium",
"Sweetbay",
"Sweetvetch",
"Swimmer",
"Swimming",
"Swimming crabs",
"Swine",
"Swinging",
"Switchboards",
"Swordfish",
"Swords",
"Swords, Japanese",
"Swordsmiths",
"Swordsmiths' marks",
"Sylviidae",
"Symbiosis",
"Symbolic Figure",
"Symbolism",
"Symbolism of numbers",
"Symbolisme dans l'art",
"Symbols",
"Symbols & Motifs",
"Symphoricarpos albus",
"Syndesmon thalictroides",
"Synthesis",
"Syra",
"Syrian dress",
"Syrinx",
"Syrphidae",
"Ta Wa Que Nah",
"Tabacco-pipes",
"Tabernacle",
"Table Rock",
"Table tennis",
"Tables",
"Tablet",
"Tableware",
"Tabulata",
"Tachinidae",
"Tagus River",
"Taijitu",
"Tail",
"Tailoring",
"Tailors",
"Taily Po",
"Taishaku-ten",
"Tajo River",
"Takydromus",
"Tale of Shuten Doji",
"Talisman",
"Talitridae",
"Tall fleabane",
"Tall larkspur",
"Tambourine",
"Taming of the Shrew",
"Tampa epidendrum",
"Tanager",
"Tang dynasty (618 - 907)",
"Tangier",
"Tangos",
"Tanks",
"Tanks (Military science)",
"Tanner",
"Tanning",
"Tannins",
"Tantra",
"Tao te ching",
"Taoism art",
"Taoist mythology",
"Taormina",
"Taotie",
"Tap dancing",
"Tapage",
"Tapestries",
"Tapestry, Gothic",
"Tapestry, Medieval",
"Tapeworms",
"Tapis Vert",
"Tappan",
"Taraxacium officinale",
"Tardigrada",
"Tarflower",
"Tariff",
"Tarsiers",
"Tarsius",
"Tassel cottongrass",
"Tasso, Torquato",
"Tatting",
"Tattoo",
"Taunton Lakes",
"Taurus",
"Tavern",
"Taverns (Inns)",
"Taxation",
"Taxidermist",
"Taxidermists",
"Taxidermy",
"Tchung Kee",
"Tea",
"Tea Drinking",
"Tea containers",
"Tea masters",
"Tea service",
"Teaching",
"Teacup",
"Team manager",
"Teapot",
"Teapots",
"Tebaldini",
"Technical education",
"Technical institute",
"Technical manuals",
"Technical study",
"Technique",
"Technological innovations",
"Technology",
"Technology & Inventions",
"Tectibranchiata",
"Teelt",
"Teepee",
"Teeth",
"Teeth, Fossil",
"Telegraph",
"Telegraph Keys",
"Telegraph Registers",
"Telegraph Relays & Repeaters",
"Telegraph Sounders",
"Telegraph cables",
"Telegraph lines",
"Telegraph poles",
"Telegraph stamps",
"Telephone",
"Telescopes",
"Television",
"Television industry leader",
"Television personality",
"Tellina",
"Tellinidae",
"Temeraire",
"Temnopleuroida",
"Temperance",
"Temperance Movement",
"Temperature measurements",
"Tempest",
"Temple",
"Temple of Azani",
"Temple of Jupiter",
"Temple of Mercury",
"Temple of Neptune",
"Temple of Peace",
"Temple of the Sibyl",
"Temptation",
"Ten Commandments",
"Tendrils",
"Tenebrionidae",
"Tennis",
"Tennis ball",
"Tennis court",
"Tennis racket",
"Tennyson",
"Tentaculata",
"Tentaculitida",
"Tents",
"Tepanecas",
"Tepee",
"Teratology",
"Tergomya",
"Terminology",
"Terns",
"Ternstroemiaceae",
"Terra-cotta",
"Terrapin Tower",
"Terrariums",
"Terrier",
"Territorial Governor",
"Test tube",
"Testacida",
"Testis",
"Testudinidae",
"Teton River",
"Tetraodontiformes",
"Tetraonidea",
"Tetrigidae",
"Tettigoniidae",
"Texas Ranger",
"Texas statehood",
"Textbook",
"Textbooks",
"Textile",
"Textile Working",
"Textile factories",
"Textile fibers",
"Textile machinery",
"Textile printing",
"Textile research",
"Textile worker",
"Textiles",
"Texts",
"Thalesia uniflora",
"Thaliacea",
"Thames River",
"Thames, Battle of the (Ontario : 1813)",
"Thangka",
"Thanksgiving",
"The Antibody Initiative",
"The Cricket on the Hearth",
"The Environment",
"The Gilded Age (1877-1920)",
"The Old Curiosity Shop",
"The Roaring Twenties (1920-1929)",
"The Tale of Genji",
"The World's Work Magazine",
"Theater",
"Theater critic",
"Theater in art",
"Theater manager",
"Theatre",
"Theatre companies",
"Theatrical",
"Theatrical agent",
"Theban Mountains",
"Thebes",
"Thecamoebina",
"Thecofilosea",
"Thecosomata",
"Themes, motifs",
"Themes, motives",
"Theologian",
"Theology",
"Theorem",
"Therapeutics",
"Therapsida",
"Thermodynamics",
"Thermometers",
"Thermometers and Hygrometers",
"Thermopsis rhombifolia",
"Theseus",
"Thesium",
"Thetis",
"Thiaridae",
"Thicket hawthorn",
"Thief",
"Thieves",
"Think Tank",
"Think tank administrator",
"ThinkFinity",
"Third Intermediate Period (ca. 1075 - 656 BCE)",
"Thistle",
"Thomas W. Lawson",
"Thomson",
"Thorn tree",
"Thread leaf sundew",
"Three Brothers",
"Three Mile Harbor",
"Thrips",
"Thrips, Fossil",
"Throne",
"Thrush",
"Thrushes",
"Thuja plicata",
"Thyme",
"Thyroid gland",
"Thysanura",
"Tiara",
"Tiber River",
"Tiberias",
"Ticks",
"Ticonderoga",
"Tides",
"Tie pin",
"Tiger",
"Tiger beetles",
"Tiles",
"Tillandsia fasciculata",
"Timber",
"Timbres fiscaux",
"Timbres-poste",
"Time",
"Time and Navigation",
"Time management",
"Timekeeping",
"Timurid period (1378 - 1506)",
"Tin mines and mining",
"Tineidae",
"Tineina",
"Tinplate",
"Tipularia uniflora",
"Titanic",
"Titian",
"Titian Ramsey Peale Collection",
"Titica",
"Tivoli",
"Toad trillium",
"Toads",
"Toast",
"Tobacco",
"Tobacco Use",
"Tobacco industry",
"Tobias",
"Tofieldia intermedia",
"Toga",
"Toilet preparations industry",
"Toilets",
"Tokyo",
"Tokyo Harbor",
"Toledo",
"Tomahawk",
"Tomahawk pipe",
"Tomb",
"Tomopteridae",
"Tompkins Square Park",
"Tongs",
"Tongue River",
"Tonnage",
"Tontine Building",
"Tools",
"Tools, Prehistoric",
"Tooth",
"Tooth powder",
"Toothed whales, Fossil",
"Top hat",
"Top hats",
"Topiary work",
"Topical songs",
"Topographer",
"Topographical surveying",
"Toquerville",
"Torch",
"Torches",
"Torii gate",
"Tornado, June 19, 1835",
"Tornadoes",
"Tornidae",
"Torpedoes",
"Torre di Schiavi",
"Torres Strait Islanders",
"Torso",
"Tortoise",
"Tortoise beetles",
"Tortricidae",
"Torture",
"Totem",
"Totem pole",
"Totonicapan",
"Totty",
"Toucans",
"Touch",
"Tour Eiffel (Paris, France)",
"Tour de Solidor",
"Tourism",
"Tourists",
"Tours",
"Towanda",
"Tower",
"Tower Bridge",
"Tower Creek",
"Tower Falls",
"Tower clocks",
"Tower of Hypacus",
"Towers",
"Town hall",
"Towoccono",
"Toxicologist",
"Toxicology",
"Toy and movable books",
"Toys",
"Track & Field",
"Track & field",
"Track and field",
"Tractors, Metallic",
"Trade",
"Trademarks",
"Trader",
"Tradescantia virginiana",
"Trafalgar Square",
"Tragedy (Theatre)",
"Tragopogon porrifolius",
"Trailing arbutus",
"Trailing houstonia",
"Train launching",
"Train station",
"Training",
"Training of",
"Trainrobber",
"Trains",
"Traitor",
"Trajan's Column (Rome, Italy)",
"Tranquility Farms",
"Trans Atlantic slave trade",
"Transatlantic Cable",
"Transcendentalism (New England)",
"Transcendentalist",
"Transcontinental Railroad",
"Transformations (Mathematics)",
"Transit",
"Transits",
"Translations from foreign literature",
"Translator",
"Transportation",
"Trapeze artist",
"Trapper",
"Travel photography",
"Travel, Ancient",
"Traveler",
"Trawls and trawling",
"Treasurer",
"Treasury Section of Painting and Sculpture",
"Treaties",
"Treaty",
"Treaty of Ghent",
"Trechtlingshausen",
"Tree planting",
"Tree stump",
"Trees",
"Trees, Fossil",
"Trellis",
"Trellises",
"Trematoda",
"Tremella",
"Tremellomycetes",
"Tremont House",
"Tremont Temple",
"Trench warfare",
"Trent",
"Trenton",
"Trepostomata",
"Trial of Red Jacket",
"Trials",
"Triangles (polygons)",
"Triangulation",
"Triangulum",
"Triatoma",
"Tribal government",
"Tribesman",
"Tricladida",
"Tricorne",
"Tricycles",
"Tridacna",
"Trident",
"Trieste",
"Trigoniidae, Fossil",
"Trigonioida, Fossil",
"Trigonometry",
"Trillium album",
"Trillium chloropetalum",
"Trillium discolor",
"Trillium erectum",
"Trillium grandiflorum",
"Trillium h.",
"Trillium hugeri",
"Trillium sessile",
"Trillium simile",
"Trillium underwoodii",
"Trillium undulatum",
"Trillium vasyi",
"Trilobita",
"Trilobites",
"Trinket",
"Triopsidae",
"Tripod",
"Tripterocalyx pedunculatus",
"Triptych",
"Trishula",
"Triton",
"Triumph",
"Triumphal Arch, Court of Honor",
"Triumphal arch",
"Trogons",
"Trogositidae",
"Trolley",
"Trollius albiflorus",
"Trombidiidae",
"Trombone",
"Trompe l'oeil",
"Tropea",
"Trophies",
"Tropic",
"Tropic-birds",
"Tropical medicine",
"Tropical plants",
"Tropics",
"Trout",
"Trout fishing",
"Troy",
"Truant",
"Truck",
"Truck farming",
"Trumpet vine",
"Trumpetcreeper",
"Trumpetleaf",
"Trumpets",
"Truncatellidae",
"Trunks (Luggage)",
"Trustee",
"Truth",
"Try square",
"Tryon",
"Trypanosoma",
"Tsar",
"Tsetse-flies",
"Tsongkhapa",
"Tsuga heterophylla",
"Tsuga mertensiana",
"Tuatara",
"Tubothalamea",
"Tucson",
"Tufted saxifrage",
"Tugboat",
"Tulip",
"Tuliptree",
"Tulsa Race Massacre",
"Tumion californicum",
"Tunicata",
"Tuniciers",
"Tunnel",
"Tunnels",
"Turban",
"Turbellaria",
"Turbinellidae",
"Turbinidae",
"Turbinolidae",
"Turkeyhead cactus",
"Turkeys",
"Turkish dress",
"Turpentine industry and trade",
"Turpentine industry workers",
"Turquoise",
"Turridae",
"Turridae, Fossil",
"Turtlehead",
"Turtles",
"Tuscany",
"Tusculum",
"Tuskegee Airmen",
"Tussie-mussies",
"Tutor",
"Tutoring",
"Twentieth century",
"Twilight",
"Twill",
"Twine industry",
"Twinleaf",
"Tybee",
"Type and type-founding",
"Type designer",
"Type specimens",
"Type specimens (Natural history)",
"Typesetting machines",
"Typewriter",
"Typewriters",
"Typhlobagrus",
"Typographer",
"Typography",
"Tyre",
"Tyrolean Alps",
"Tyrrhenian Sea",
"Tzu pu",
"U. S. Capitol",
"U. S. Legation",
"U.S. 485",
"U.S. Capitol Building",
"U.S. Classics",
"U.S. History, 1783-1815",
"U.S. History, 1815-1861",
"U.S. History, 1865-1921",
"U.S. History, 1919-1933",
"U.S. History, 1933-1945",
"U.S. History, 1945-1953",
"U.S. History, 1953-1961",
"U.S. History, 1961-1969",
"U.S. History, 1969-2001",
"U.S. History, 2001-",
"U.S. History, Civil War, 1861-1865",
"U.S. History, Colonial period, 1600-1775",
"U.S. History, Revolution, 1775-1783",
"U.S. National Government, executive branch",
"U.S. National Government, judiciary",
"U.S. National Government, legislative branch",
"U.S. Related Areas",
"U.S. Stamps",
"U.S. states",
"U.S.S.R.",
"US",
"US Attorney",
"US Attorney General",
"US Capitol",
"US Consul",
"US Marshal",
"US Minister",
"US Postmaster General",
"US Supreme Court Justice",
"Uchee",
"Uki-e",
"Ukiyo-e",
"Ukiyoe",
"Ukrainian blind mole rats",
"Ulothricaceae",
"Ulvophyceae",
"Uma",
"Umbrella tree",
"Umbrellas",
"Uncle Sam (Symbolic character)",
"Underdrawing",
"Underground Railroad",
"Undine",
"Unfinished",
"Unglazed",
"Ungulata",
"Ungulates",
"Ungulates, Fossil",
"Unicorn",
"Uniforms",
"Uniforms, Military",
"Uniforms, fraternal",
"Unio",
"Union",
"Union Square",
"Unionidae",
"Unitarian Church",
"United Farm Workers",
"United Kingdom",
"United Nations",
"United States Botanic Garden",
"United States Colored Troops",
"United States Constitution, Fifteenth Amendment",
"United States History",
"United States. Constitution",
"Unity",
"Universalism",
"Universities",
"University administrator",
"University president",
"University trustee",
"Upholstery",
"Upland game birds",
"Upper Falls",
"Upper class",
"Uraniidae",
"Urban life",
"Urban planning",
"Urban transportation",
"Urea",
"Urinary organs",
"Urine",
"Urn",
"Urna",
"Urns",
"Urocoptidae",
"Urodela",
"Uropeltidae",
"Urus",
"Ushnisha",
"Utah Lake",
"Utah Territory",
"Utai",
"Utensils",
"Utica, NY",
"Utilities",
"Utopias",
"Utrecht",
"Uvalaria perfoliata",
"VIDA SOCIAL Y COSTUMBRES",
"Vaccinium caespitosum",
"Vaccinium corymbosum",
"Vaccinium membranaceum",
"Vaccinium scoparium",
"Vaccinium tenellum",
"Vaccinium vitisdaea minus",
"Vaea",
"Vagina",
"Vagnera stellata",
"Vagus nerve",
"Vairocana Buddha",
"Vaisravana",
"Vajra",
"Vajrapani",
"Vajravarahi",
"Vajrayana Buddhism",
"Val d'Ema",
"Valdivia Expedition",
"Valentine's Day",
"Valeriana sitchensis",
"Valkyrie",
"Valley Forge",
"Valley Stream",
"Valley of the Lledr",
"Valley of the Llugwy",
"Valleys",
"Valparaiso",
"Valparaiso Harbor",
"Valuation",
"Valvata",
"Vampires",
"Vanity",
"Var (Dept.)",
"Varada mudra",
"Varens",
"Variation (Biology)",
"Varieties",
"Varnish and varnishing",
"Vase",
"Vase of nectar",
"Vases",
"Vases, Roman",
"Vasudhara",
"Vaud",
"Vaudeville",
"Vector analysis",
"Vegetable",
"Vegetable gardening",
"Vegetable seller",
"Vegetables",
"Vehicles",
"Veil",
"Velvet",
"Vendor",
"Veneroida",
"Venetian",
"Venezuelan",
"Venom",
"Ventimiglia",
"Ventriloquist",
"Venus",
"Venus flytrap",
"Venus' vliegenval",
"Venus's flytrap",
"Veracruz",
"Veratrum viride",
"Verbena wrightii",
"Verde River",
"Vergennes, VT",
"Vermeer, Johannes",
"Vernal Falls",
"Vernal iris",
"Verona",
"Veronica serpyllifolia",
"Veronica wormskjoldii",
"Versailles",
"Versailles Gardens",
"Versailles Palace",
"Versailles, Treaty of",
"Verse satire, Latin",
"Vertebrae",
"Vertebrates",
"Vertebrates, Fossil",
"Vertrouwt",
"Vervain",
"Verzamelen",
"Vespertilionidae",
"Vest",
"Vestryman",
"Veteran",
"Veterinary medicine",
"Veterinary parasitology",
"Vevey",
"Via Appia",
"Via Tuscolana",
"Viability",
"Vibo Valentia",
"Viburnum americanum",
"Viburnum pauciflorum",
"Vicar",
"Vicar of Wakefield",
"Vice Admiral",
"Vice president",
"Vice-Presidential Candidate",
"Vice-Presidents",
"Vicenza",
"Vicia americana",
"Vicki",
"Vicksburg",
"Vicovaro",
"Victorian Era",
"Victorian dress",
"Victorian style",
"Victoriana",
"Vienna",
"Vietnam War, 1961-1975",
"Views",
"Vigo Bridge",
"Viking",
"Villa Falconieri",
"Villa Malta",
"Villa Mecenas",
"Village communities",
"Villages",
"Villajoyosa",
"Villeneuve",
"Vimalakirti",
"Vina",
"Vine",
"Viola",
"Viola adunca",
"Viola canadensis",
"Viola digitata",
"Viola eriocarpa",
"Viola orbiculata",
"Viola palustris",
"Viola papilionacea",
"Viola pedata",
"Viola primulifolia",
"Viola rafinesquii",
"Viola septemloba",
"Viola striata",
"Violaceae",
"Violence",
"Violet",
"Violets",
"Violincello",
"Violinist",
"Violins",
"Viperidae",
"Virgil",
"Virgin",
"Virgin Mary",
"Virgin River",
"Virginia bluebells",
"Virginia spiderwort",
"Virginia springbeauty",
"Virginia stewartia",
"Virgo",
"Virudhaka",
"Viscount",
"Viscountess",
"Vishnu",
"Vishvamitra",
"Vision",
"Visionary architecture",
"Visor",
"Visual arts administrator",
"Vitarka mudra",
"Vitrinella",
"Vivariums",
"Viviparidae",
"Vivisection",
"Vocal duets with orchestra",
"Vocal duets with piano",
"Vocal scores with piano",
"Vocal scores without accompaniment",
"Voice",
"Volcan Agua",
"Volcan Apea",
"Volcan Fuego",
"Volcan Zunil",
"Volcanic eruption",
"Volcanic eruptions",
"Volcano",
"Volcanoes",
"Volendam",
"Volta effect",
"Volterra",
"Volunteer",
"Volutidae",
"Voting",
"Voting and Property Rights",
"Voyages",
"Voyages and travels",
"Voyages around the world",
"Voyages autour du monde",
"Voyages to the Pacific coast",
"Voyages, Imaginary",
"Vulcanization",
"Vulture",
"Vultures",
"WW I",
"WW II",
"Wacker Drive",
"Wagner",
"Wagon",
"Wagons",
"Waist",
"Waiting",
"Waitresses",
"Wake-robin",
"Wales",
"Walking",
"Walking stick",
"Walkingstick cholla",
"Walkway",
"Wall",
"Wall Street",
"Wall hanging",
"Wall hangings",
"Wallflower",
"Wallpaper",
"Walls",
"Walpi",
"Walrus",
"Walt Whitman Birthplace",
"Waltzes",
"Waltzes (Piano)",
"Wampum belts",
"Wang Wei",
"Wangchuan Villa",
"Wanli reign (1573 - 1620)",
"War",
"War Council",
"War bonnets",
"War damage",
"War of 1812",
"War of 1812, 1812-1815",
"War photographer",
"War work",
"Warbler",
"Wardian cases",
"Warehouse",
"Warfare",
"Warring States period (475 - 221 BCE)",
"Warrior",
"Wars",
"Warship",
"Warships",
"Warwick",
"Wasatch Mountains",
"Washing",
"Washing machine",
"Washing machines",
"Washington Arch",
"Washington Crossing",
"Washington D.C.",
"Washington Monument",
"Washington lily",
"Washington, Booker T., 1856-1915",
"Washington, DC",
"Washington, George",
"Wasps",
"Wassen",
"Watch",
"Watchcases",
"Watchmaker",
"Watchman",
"Water",
"Water Currents",
"Water beetles",
"Water birds",
"Water buffalo",
"Water carrier",
"Water crowfoot",
"Water features",
"Water lily",
"Water mites",
"Water pump",
"Water-supply",
"Water-wheels",
"Watercolorist",
"Waterfalls",
"Waterfowl",
"Waterfowl shooting",
"Waterloo",
"Waterloo, Battle of, Waterloo, Belgium, 1815",
"Watermarks",
"Watermelon",
"Waterscapes",
"Watertown",
"Waterwork",
"Watkins Glen",
"Watteau, Jean-Antoine",
"Wave",
"Waves in art",
"Wax modeler",
"Wax trillium",
"Waxenstein Mountains",
"Wea",
"Wealth",
"Wealthy",
"Weapons",
"Weariness",
"Weasel",
"Weather",
"Weathervane",
"Weaverbirds",
"Weaving",
"Web site",
"Webb",
"Webb Farm",
"Weber River",
"Weberian apparatus",
"Webspinners",
"Wedding",
"Wedding Band",
"Wedding dress",
"Weddings",
"Wedgwood ware",
"Weeds",
"Weehawken",
"Weft patterning",
"Weighing instruments industry",
"Weights and measures",
"Weimo",
"Weir",
"Well",
"Wells",
"Wells Cathedral",
"Weltkrieg",
"Wenshu",
"West Palm Beach",
"West Point",
"Western",
"Western Han dynasty (206 BCE - 9 CE)",
"Western Wei dynasty (535 - 556)",
"Western Zhou dynasty (ca. 1050 - 771 BCE)",
"Western azalea",
"Western blue flag",
"Western bluebells",
"Western capercaillie",
"Western cranesbill",
"Western films",
"Western green alder",
"Western hemlock",
"Western larch",
"Western menziesia",
"Western monkshood",
"Western mountain ash",
"Western pipsissewa",
"Western rattlesnake plantain",
"Western states",
"Western yarrow",
"Westminster Bridge",
"Westport",
"Westward expansion",
"Wethersfield Ferry",
"Whalers",
"Whalers (Persons)",
"Whales",
"Whales, Fossil",
"Whaling",
"Wharf",
"Wheat",
"Wheat broker",
"Wheat straw",
"Wheat strawworm",
"Wheel",
"Wheelbarrow",
"Wheelchair",
"Wheeling",
"Wheels",
"Whip",
"Whip scorpions",
"Whippoorwill",
"Whirlwinds",
"Whiskey",
"Whist",
"White Indian paintbrush",
"White Mountains",
"White Pine Canyon",
"White Supremacist",
"White dawnrose",
"White dryad",
"White epidendrum",
"White fairy lantern",
"White flowering raspberry",
"White globeflower",
"White heather",
"White pea",
"White supremacy movements",
"White thistle",
"White troutlily",
"White whale",
"Whitebark pine",
"Whiteface Mountain",
"Wholesade trade",
"Wichita Mountains",
"Wicker",
"Widow",
"Widower",
"Wife",
"Wig",
"Wild Animals",
"Wild animal collecting",
"Wild calla",
"Wild flax",
"Wild flowers",
"Wild hazelnut",
"Wild hyacinth",
"Wild oat",
"Wild pea",
"Wild pineapple",
"Wild plants",
"Wild rice",
"Wild rose",
"Wild sweet crab",
"Wildcat",
"Wilderness, Battle of the, Va., 1864",
"Willamette River",
"William Corbett's School",
"Williams College",
"Williamsburg",
"Williamstown",
"Willow",
"Willow tree",
"Willows",
"Wilton Castle",
"Winchester",
"Winchester Cathedral",
"Wind",
"Wind Bloweth",
"Wind River Mountains",
"Wind energy",
"Wind gods",
"Wind instruments",
"Wind poppy",
"Windmill",
"Windmills",
"Window gardening",
"Windows",
"Windows in interior decoration",
"Winds",
"Windsor",
"Windsor Castle",
"Windsor Park",
"Wine",
"Wine and wine making",
"Wine bottle",
"Wine cup",
"Wine merchant",
"Winged being",
"Wings",
"Wings (Anatomy)",
"Winter",
"Winter's Tale",
"Winterberry",
"Wire",
"Wirework",
"Wisconsin River",
"Wissahickon Creek",
"Wisteria",
"Wit and humor",
"Witch",
"Witch of Endor",
"Witch-hazel",
"Witchcraft",
"Witches Rock",
"Withlacoochee River",
"Witte Paters",
"Wolf",
"Wolves",
"Woman",
"Woman in New England",
"Women",
"Women Taken in Adultery",
"Women and freemasonry",
"Women calligraphers",
"Women scientists",
"Women slaves",
"Women's Club Movement",
"Women's Health",
"Women's History",
"Women's clothing",
"Women's organizations",
"Women's periodicals, English",
"Women's rights advocate",
"Women, Zulu",
"Wood",
"Wood lily",
"Wood merrybells",
"Wood skullcap",
"Wood warblers",
"Wood-carving",
"Wood-gathering",
"Wood-nymph",
"Woodblock",
"Woodcock",
"Woodcock, American",
"Woodcock, Eurasian",
"Woodford Mambrino",
"Woodpecker",
"Woodpeckers",
"Woodsprite",
"Woodworker",
"Woody plants",
"Woolen and worsted manufacture",
"Woolgrass",
"Woolly fleabane",
"Woolworth Building",
"Wooly agoseris",
"Wooly arnica",
"Worcester porcelain",
"Workers",
"Working class",
"Works Progress Administration",
"Works Progress Administration, Federal Art Project",
"Workshop recipes",
"World War, 1914-1918",
"World War, 1939-1945",
"Worm",
"Worms",
"Worry",
"Worship",
"Worshiper",
"Wound",
"Wrangell",
"Wrangler",
"Wreath",
"Wreaths",
"Wren",
"Wrestling",
"Wrist watch",
"Writers",
"Writing",
"Writing table",
"Writing tablet",
"Writing tool",
"Wye River",
"X-rays",
"Xanthophyceae",
"Xenarthra",
"Xenarthra, Fossil",
"Xenophyophora",
"Xerophyllum tenax",
"Xiao shou chia lei",
"Xiphosura",
"Yacht",
"Yachting",
"Yachting cap",
"Yachts",
"Yachtsman",
"Yak",
"Yaksa",
"Yaksha",
"Yakusha-e",
"Yale University",
"Yamato-e",
"Yaupon",
"Yellow cucumbertree",
"Yellow dryad",
"Yellow fever",
"Yellow fringeorchid",
"Yellow jessamine",
"Yellow lady's slipper",
"Yellow lupine",
"Yellow penstemon",
"Yellow stonecrop",
"Yellow violet",
"Yellow willow grass",
"Yellow willow-weed",
"Yellowstone Canyon",
"Yellowstone Falls",
"Yellowstone Lake",
"Yellowstone National Park",
"Yellowstone Range",
"Yellowstone River",
"Yerba mansa",
"Yin-yang",
"Ynsiensi",
"Yogini",
"York",
"York Minister",
"York River",
"Yorktown",
"Yosemite Falls",
"Yosemite Valley",
"Young Lords Movement",
"Young Men's Christian associations",
"Youth",
"Yuan dynasty (1279 - 1368)",
"Yucca",
"Yucca baccata",
"Yucca baileyi",
"Yucca tree",
"Yue ware",
"Yugoslavia",
"Zarzuelas",
"Zauschneria carlifornica",
"Zebra",
"Zebras",
"Zembra",
"Zen Buddhism",
"Zen priests",
"Zenobia",
"Zenobia cassinifolia",
"Zeppelin LZ 3",
"Zeppelin LZ 4",
"Zermatt",
"Zeus",
"Zhejiang green-glazed ware",
"Zhong Kui",
"Zhou dynasty (ca. 1050 - 221 BCE)",
"Zhuangzi",
"Zinc sculpture, American",
"Zingare",
"Zinnia",
"Zinnia grandiflora",
"Zion National Park",
"Zoantharia",
"Zodiac",
"Zongzi",
"Zonitidae",
"Zoo keepers",
"Zoo visitors",
"Zoogeography",
"Zoological illustration",
"Zoological models",
"Zoologist",
"Zoology",
"Zoology, Economic",
"Zoology, Medical",
"Zooplankton",
"Zoos",
"Zulu War, 1879",
"Zurich",
"Zwijndrecht",
"Zygadenus elegans",
"Zygadenus venenosus",
"Zygaenidae",
"Zygophyllceae",
"[NO SUBJECT]",
"abolitionism",
"anti-Catholicism",
"bloomers",
"canoeing",
"croquet",
"descriptive geometry",
"dicotyledonae",
"grave",
"hotels",
"kitchen",
"metalworking",
"not dated",
"publishers",
"skateboarding"
],
"message": "content found"
}
}
Received response:
Request failed with error:
All Brightcove Account List.
Get All Brightcove Account List.
Example request:
curl --request GET \
--get "http://localhost:8000/api/v1/brightcove/suborganization/1/get-bc-account-list" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/brightcove/suborganization/1/get-bc-account-list"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'http://localhost:8000/api/v1/brightcove/suborganization/1/get-bc-account-list',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (500):
Show headers
cache-control: no-cache, private
content-type: application/json
{
"errors": [
"Brightcove account list not found."
]
}
Received response:
Request failed with error:
Get Brightcove Videos List
Get the specified Brightcove API setting data.
Example request:
curl --request POST \
"http://localhost:8000/api/v1/brightcove/get-bc-videos-list" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"id\": 1,
\"organization_id\": 1,
\"query_param\": \"query=name=file&limit=0&offset=0\"
}"
const url = new URL(
"http://localhost:8000/api/v1/brightcove/get-bc-videos-list"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"id": 1,
"organization_id": 1,
"query_param": "query=name=file&limit=0&offset=0"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/brightcove/get-bc-videos-list',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'id' => 1,
'organization_id' => 1,
'query_param' => 'query=name=file&limit=0&offset=0',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Received response:
Request failed with error:
Get vimeo,komodo direct or playable url
Example request:
curl --request POST \
"http://localhost:8000/api/v1/video/get-direct-url" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/v1/video/get-direct-url"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://localhost:8000/api/v1/video/get-direct-url',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Received response:
Request failed with error: